TPTP Problem File: ITP178^2.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : ITP178^2 : TPTP v8.2.0. Released v7.5.0.
% Domain : Interactive Theorem Proving
% Problem : Sledgehammer StandardRules problem prob_429__5391446_1
% Version : Especial.
% English :
% Refs : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
% : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% Source : [Des21]
% Names : StandardRules/prob_429__5391446_1 [Des21]
% Status : Theorem
% Rating : 0.33 v8.1.0, 0.25 v7.5.0
% Syntax : Number of formulae : 342 ( 107 unt; 63 typ; 0 def)
% Number of atoms : 800 ( 226 equ; 0 cnn)
% Maximal formula atoms : 13 ( 2 avg)
% Number of connectives : 7968 ( 59 ~; 1 |; 88 &;7453 @)
% ( 0 <=>; 367 =>; 0 <=; 0 <~>)
% Maximal formula depth : 28 ( 10 avg)
% Number of types : 4 ( 3 usr)
% Number of type conns : 172 ( 172 >; 0 *; 0 +; 0 <<)
% Number of symbols : 62 ( 60 usr; 5 con; 0-10 aty)
% Number of variables : 1456 ( 68 ^;1263 !; 29 ?;1456 :)
% ( 96 !>; 0 ?*; 0 @-; 0 @+)
% SPC : TH1_THM_EQU_NAR
% Comments : This file was generated by Sledgehammer 2021-02-23 16:23:24.271
%------------------------------------------------------------------------------
% Could-be-implicit typings (9)
thf(ty_t_LabeledGraphSemantics_OStandard__Constant,type,
standard_Constant: $tType > $tType ).
thf(ty_t_LabeledGraphSemantics_Oallegorical__term,type,
allegorical_term: $tType > $tType ).
thf(ty_t_LabeledGraphs_Olabeled__graph,type,
labeled_graph: $tType > $tType > $tType ).
thf(ty_t_Product__Type_Oprod,type,
product_prod: $tType > $tType > $tType ).
thf(ty_t_Set_Oset,type,
set: $tType > $tType ).
thf(ty_t_Nat_Onat,type,
nat: $tType ).
thf(ty_t_itself,type,
itself: $tType > $tType ).
thf(ty_tf_b,type,
b: $tType ).
thf(ty_tf_a,type,
a: $tType ).
% Explicit typings (54)
thf(sy_cl_HOL_Otype,type,
type:
!>[A: $tType] : $o ).
thf(sy_cl_Orderings_Oord,type,
ord:
!>[A: $tType] : $o ).
thf(sy_cl_Orderings_Oorder,type,
order:
!>[A: $tType] : $o ).
thf(sy_cl_Finite__Set_Ofinite,type,
finite_finite:
!>[A: $tType] : $o ).
thf(sy_cl_Orderings_Olinorder,type,
linorder:
!>[A: $tType] : $o ).
thf(sy_cl_Orderings_Opreorder,type,
preorder:
!>[A: $tType] : $o ).
thf(sy_cl_Orderings_Oorder__bot,type,
order_bot:
!>[A: $tType] : $o ).
thf(sy_c_Finite__Set_Ofinite,type,
finite_finite2:
!>[A: $tType] : ( ( set @ A ) > $o ) ).
thf(sy_c_LabeledGraphSemantics_Oallegorical__term_OA__Int,type,
allegorical_A_Int:
!>[V: $tType] : ( ( allegorical_term @ V ) > ( allegorical_term @ V ) > ( allegorical_term @ V ) ) ).
thf(sy_c_LabeledGraphSemantics_Osemantics,type,
semantics:
!>[A: $tType,B: $tType] : ( ( labeled_graph @ A @ B ) > ( allegorical_term @ A ) > ( set @ ( product_prod @ B @ B ) ) ) ).
thf(sy_c_LabeledGraphs_Ograph__homomorphism,type,
graph_homomorphism:
!>[A: $tType,B: $tType,C: $tType] : ( ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ C ) > ( set @ ( product_prod @ B @ C ) ) > $o ) ).
thf(sy_c_LabeledGraphs_Ograph__union,type,
graph_union:
!>[A: $tType,B: $tType] : ( ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) ) ).
thf(sy_c_LabeledGraphs_Olabeled__graph_OLG,type,
labeled_LG:
!>[L: $tType,V: $tType] : ( ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > ( labeled_graph @ L @ V ) ) ).
thf(sy_c_LabeledGraphs_Olabeled__graph_Ocase__labeled__graph,type,
labele1974067554_graph:
!>[L: $tType,V: $tType,A: $tType] : ( ( ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A ) > ( labeled_graph @ L @ V ) > A ) ).
thf(sy_c_LabeledGraphs_Olabeled__graph_Oedges,type,
labeled_edges:
!>[L: $tType,V: $tType] : ( ( labeled_graph @ L @ V ) > ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) ) ).
thf(sy_c_LabeledGraphs_Olabeled__graph_Overtices,type,
labeled_vertices:
!>[L: $tType,V: $tType] : ( ( labeled_graph @ L @ V ) > ( set @ V ) ) ).
thf(sy_c_LabeledGraphs_Orestrict,type,
restrict:
!>[A: $tType,B: $tType] : ( ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) ) ).
thf(sy_c_MissingRelation_Ounivalent,type,
univalent:
!>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > $o ) ).
thf(sy_c_Orderings_Obot__class_Obot,type,
bot_bot:
!>[A: $tType] : A ).
thf(sy_c_Orderings_Oord__class_Oless__eq,type,
ord_less_eq:
!>[A: $tType] : ( A > A > $o ) ).
thf(sy_c_Product__Type_OPair,type,
product_Pair:
!>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).
thf(sy_c_Product__Type_Oold_Oprod_Orec__prod,type,
product_rec_prod:
!>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T ) ).
thf(sy_c_Product__Type_Oprod_Ofst,type,
product_fst:
!>[A: $tType,B: $tType] : ( ( product_prod @ A @ B ) > A ) ).
thf(sy_c_Product__Type_Oprod_Osnd,type,
product_snd:
!>[A: $tType,B: $tType] : ( ( product_prod @ A @ B ) > B ) ).
thf(sy_c_Relation_ODomain,type,
domain:
!>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ A ) ) ).
thf(sy_c_Relation_OId__on,type,
id_on:
!>[A: $tType] : ( ( set @ A ) > ( set @ ( product_prod @ A @ A ) ) ) ).
thf(sy_c_Relation_OImage,type,
image:
!>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ A ) > ( set @ B ) ) ).
thf(sy_c_Relation_Orelcomp,type,
relcomp:
!>[A: $tType,B: $tType,C: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ ( product_prod @ B @ C ) ) > ( set @ ( product_prod @ A @ C ) ) ) ).
thf(sy_c_RuleSemanticsConnection_Oinv__translation,type,
inv_translation: ( set @ nat ) > $o ).
thf(sy_c_RuleSemanticsConnection_Otranslation,type,
translation:
!>[C: $tType] : ( ( allegorical_term @ C ) > ( labeled_graph @ C @ nat ) ) ).
thf(sy_c_RulesAndChains_Oagree__on,type,
agree_on:
!>[A: $tType,B: $tType,C: $tType] : ( ( labeled_graph @ A @ B ) > ( set @ ( product_prod @ B @ C ) ) > ( set @ ( product_prod @ B @ C ) ) > $o ) ).
thf(sy_c_RulesAndChains_Ochain,type,
chain:
!>[L: $tType,V: $tType] : ( ( nat > ( labeled_graph @ L @ V ) ) > $o ) ).
thf(sy_c_RulesAndChains_Ochain__sup,type,
chain_sup:
!>[L: $tType,V: $tType] : ( ( nat > ( labeled_graph @ L @ V ) ) > ( labeled_graph @ L @ V ) ) ).
thf(sy_c_RulesAndChains_Oconsequence__graph,type,
consequence_graph:
!>[A: $tType,B: $tType,C: $tType] : ( ( set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) ) > ( labeled_graph @ A @ C ) > $o ) ).
thf(sy_c_RulesAndChains_Oextensible,type,
extensible:
!>[L: $tType,X: $tType,V: $tType] : ( ( product_prod @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) ) > ( labeled_graph @ L @ V ) > ( set @ ( product_prod @ X @ V ) ) > $o ) ).
thf(sy_c_RulesAndChains_Ofair__chain,type,
fair_chain:
!>[A: $tType,B: $tType,C: $tType] : ( ( set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) ) > ( nat > ( labeled_graph @ A @ C ) ) > $o ) ).
thf(sy_c_RulesAndChains_Ofin__maintained,type,
fin_maintained:
!>[L: $tType,X: $tType,V: $tType] : ( ( product_prod @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) ) > ( labeled_graph @ L @ V ) > $o ) ).
thf(sy_c_RulesAndChains_Oleast,type,
least:
!>[X: $tType,L: $tType,V: $tType,C: $tType] : ( ( itself @ X ) > ( set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ) ) > ( labeled_graph @ L @ C ) > ( labeled_graph @ L @ C ) > $o ) ).
thf(sy_c_RulesAndChains_Oleast__consequence__graph,type,
least_559130134_graph:
!>[X: $tType,L: $tType,V: $tType,C: $tType] : ( ( itself @ X ) > ( set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ) ) > ( labeled_graph @ L @ C ) > ( labeled_graph @ L @ C ) > $o ) ).
thf(sy_c_RulesAndChains_Omaintained,type,
maintained:
!>[L: $tType,X: $tType,V: $tType] : ( ( product_prod @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) ) > ( labeled_graph @ L @ V ) > $o ) ).
thf(sy_c_RulesAndChains_Opushout__step,type,
pushout_step:
!>[X: $tType,A: $tType,C: $tType,B: $tType] : ( ( itself @ X ) > ( product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) ) > ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) > $o ) ).
thf(sy_c_RulesAndChains_Oset__of__graph__rules,type,
set_of_graph_rules:
!>[L: $tType,V: $tType] : ( ( set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ) ) > $o ) ).
thf(sy_c_RulesAndChains_Oweak__universal,type,
weak_universal:
!>[X: $tType,A: $tType,C: $tType,B: $tType] : ( ( itself @ X ) > ( product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) ) > ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) > ( set @ ( product_prod @ C @ B ) ) > ( set @ ( product_prod @ C @ B ) ) > $o ) ).
thf(sy_c_Set_OCollect,type,
collect:
!>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Oconstant__rules,type,
standa1138209853_rules:
!>[A: $tType] : ( ( set @ A ) > ( set @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) ) ) ) ).
thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Oidentity__rules,type,
standa2002409347_rules:
!>[A: $tType] : ( ( set @ ( standard_Constant @ A ) ) > ( set @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) ) ) ) ).
thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Ononempty__rule,type,
standa244753842y_rule:
!>[L: $tType] : ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ).
thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Oreflexivity__rule,type,
standa245363227y_rule:
!>[L: $tType] : ( L > ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ) ).
thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Otop__rule,type,
standa400804411p_rule:
!>[L: $tType] : ( L > ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ) ).
thf(sy_c_member,type,
member:
!>[A: $tType] : ( A > ( set @ A ) > $o ) ).
thf(sy_v_C,type,
c: set @ a ).
thf(sy_v_u,type,
u: allegorical_term @ b ).
thf(sy_v_v,type,
v: allegorical_term @ b ).
thf(sy_v_x,type,
x: product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) ).
% Relevant facts (256)
thf(fact_0_assms,axiom,
member @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) ) @ x @ ( standa1138209853_rules @ a @ c ) ).
% assms
thf(fact_1_graph__rule__translation,axiom,
! [A: $tType,X2: allegorical_term @ A,Y: allegorical_term @ A] :
( ( graph_homomorphism @ A @ nat @ nat @ ( product_fst @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( product_Pair @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( translation @ A @ X2 ) @ ( translation @ A @ ( allegorical_A_Int @ A @ X2 @ Y ) ) ) ) @ ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( product_Pair @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( translation @ A @ X2 ) @ ( translation @ A @ ( allegorical_A_Int @ A @ X2 @ Y ) ) ) ) @ ( id_on @ nat @ ( labeled_vertices @ A @ nat @ ( product_fst @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( product_Pair @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( translation @ A @ X2 ) @ ( translation @ A @ ( allegorical_A_Int @ A @ X2 @ Y ) ) ) ) ) ) )
& ( ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( product_Pair @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( translation @ A @ X2 ) @ ( translation @ A @ ( allegorical_A_Int @ A @ X2 @ Y ) ) ) )
= ( restrict @ A @ nat @ ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( product_Pair @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( translation @ A @ X2 ) @ ( translation @ A @ ( allegorical_A_Int @ A @ X2 @ Y ) ) ) ) ) )
& ( finite_finite2 @ nat @ ( labeled_vertices @ A @ nat @ ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( product_Pair @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( translation @ A @ X2 ) @ ( translation @ A @ ( allegorical_A_Int @ A @ X2 @ Y ) ) ) ) ) )
& ( finite_finite2 @ ( product_prod @ A @ ( product_prod @ nat @ nat ) ) @ ( labeled_edges @ A @ nat @ ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( product_Pair @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( translation @ A @ X2 ) @ ( translation @ A @ ( allegorical_A_Int @ A @ X2 @ Y ) ) ) ) ) ) ) ).
% graph_rule_translation
thf(fact_2_subgraph__refl,axiom,
! [B: $tType,A: $tType,G: labeled_graph @ A @ B] :
( ( graph_homomorphism @ A @ B @ B @ G @ G @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G ) ) )
= ( G
= ( restrict @ A @ B @ G ) ) ) ).
% subgraph_refl
thf(fact_3_subgraph__restrict,axiom,
! [B: $tType,A: $tType,G: labeled_graph @ A @ B] :
( ( graph_homomorphism @ A @ B @ B @ G @ ( restrict @ A @ B @ G ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G ) ) )
= ( G
= ( restrict @ A @ B @ G ) ) ) ).
% subgraph_restrict
thf(fact_4_graph__homomorphism__Id,axiom,
! [B: $tType,A: $tType,A2: labeled_graph @ A @ B] : ( graph_homomorphism @ A @ B @ B @ ( restrict @ A @ B @ A2 ) @ ( restrict @ A @ B @ A2 ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A2 ) ) ) ).
% graph_homomorphism_Id
thf(fact_5_verts__in__translation__finite_I2_J,axiom,
! [A: $tType,X2: allegorical_term @ A] : ( finite_finite2 @ ( product_prod @ A @ ( product_prod @ nat @ nat ) ) @ ( labeled_edges @ A @ nat @ ( translation @ A @ X2 ) ) ) ).
% verts_in_translation_finite(2)
thf(fact_6_are__rules_I1_J,axiom,
! [A: $tType] :
( ( graph_homomorphism @ A @ nat @ nat @ ( product_fst @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( standa244753842y_rule @ A ) ) @ ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( standa244753842y_rule @ A ) ) @ ( id_on @ nat @ ( labeled_vertices @ A @ nat @ ( product_fst @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( standa244753842y_rule @ A ) ) ) ) )
& ( ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( standa244753842y_rule @ A ) )
= ( restrict @ A @ nat @ ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( standa244753842y_rule @ A ) ) ) )
& ( finite_finite2 @ nat @ ( labeled_vertices @ A @ nat @ ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( standa244753842y_rule @ A ) ) ) )
& ( finite_finite2 @ ( product_prod @ A @ ( product_prod @ nat @ nat ) ) @ ( labeled_edges @ A @ nat @ ( product_snd @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( standa244753842y_rule @ A ) ) ) ) ) ).
% are_rules(1)
thf(fact_7_are__rules_I2_J,axiom,
! [B: $tType,T2: B] :
( ( graph_homomorphism @ B @ nat @ nat @ ( product_fst @ ( labeled_graph @ B @ nat ) @ ( labeled_graph @ B @ nat ) @ ( standa400804411p_rule @ B @ T2 ) ) @ ( product_snd @ ( labeled_graph @ B @ nat ) @ ( labeled_graph @ B @ nat ) @ ( standa400804411p_rule @ B @ T2 ) ) @ ( id_on @ nat @ ( labeled_vertices @ B @ nat @ ( product_fst @ ( labeled_graph @ B @ nat ) @ ( labeled_graph @ B @ nat ) @ ( standa400804411p_rule @ B @ T2 ) ) ) ) )
& ( ( product_snd @ ( labeled_graph @ B @ nat ) @ ( labeled_graph @ B @ nat ) @ ( standa400804411p_rule @ B @ T2 ) )
= ( restrict @ B @ nat @ ( product_snd @ ( labeled_graph @ B @ nat ) @ ( labeled_graph @ B @ nat ) @ ( standa400804411p_rule @ B @ T2 ) ) ) )
& ( finite_finite2 @ nat @ ( labeled_vertices @ B @ nat @ ( product_snd @ ( labeled_graph @ B @ nat ) @ ( labeled_graph @ B @ nat ) @ ( standa400804411p_rule @ B @ T2 ) ) ) )
& ( finite_finite2 @ ( product_prod @ B @ ( product_prod @ nat @ nat ) ) @ ( labeled_edges @ B @ nat @ ( product_snd @ ( labeled_graph @ B @ nat ) @ ( labeled_graph @ B @ nat ) @ ( standa400804411p_rule @ B @ T2 ) ) ) ) ) ).
% are_rules(2)
thf(fact_8_verts__in__translation__finite_I1_J,axiom,
! [A: $tType,X2: allegorical_term @ A] : ( finite_finite2 @ nat @ ( labeled_vertices @ A @ nat @ ( translation @ A @ X2 ) ) ) ).
% verts_in_translation_finite(1)
thf(fact_9_are__rules_I3_J,axiom,
! [C: $tType,I: C] :
( ( graph_homomorphism @ C @ nat @ nat @ ( product_fst @ ( labeled_graph @ C @ nat ) @ ( labeled_graph @ C @ nat ) @ ( standa245363227y_rule @ C @ I ) ) @ ( product_snd @ ( labeled_graph @ C @ nat ) @ ( labeled_graph @ C @ nat ) @ ( standa245363227y_rule @ C @ I ) ) @ ( id_on @ nat @ ( labeled_vertices @ C @ nat @ ( product_fst @ ( labeled_graph @ C @ nat ) @ ( labeled_graph @ C @ nat ) @ ( standa245363227y_rule @ C @ I ) ) ) ) )
& ( ( product_snd @ ( labeled_graph @ C @ nat ) @ ( labeled_graph @ C @ nat ) @ ( standa245363227y_rule @ C @ I ) )
= ( restrict @ C @ nat @ ( product_snd @ ( labeled_graph @ C @ nat ) @ ( labeled_graph @ C @ nat ) @ ( standa245363227y_rule @ C @ I ) ) ) )
& ( finite_finite2 @ nat @ ( labeled_vertices @ C @ nat @ ( product_snd @ ( labeled_graph @ C @ nat ) @ ( labeled_graph @ C @ nat ) @ ( standa245363227y_rule @ C @ I ) ) ) )
& ( finite_finite2 @ ( product_prod @ C @ ( product_prod @ nat @ nat ) ) @ ( labeled_edges @ C @ nat @ ( product_snd @ ( labeled_graph @ C @ nat ) @ ( labeled_graph @ C @ nat ) @ ( standa245363227y_rule @ C @ I ) ) ) ) ) ).
% are_rules(3)
thf(fact_10_prod_Ocollapse,axiom,
! [B: $tType,A: $tType,Prod: product_prod @ A @ B] :
( ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) )
= Prod ) ).
% prod.collapse
thf(fact_11_translation__graph,axiom,
! [A: $tType] :
( ( translation @ A )
= ( ^ [X3: allegorical_term @ A] : ( restrict @ A @ nat @ ( translation @ A @ X3 ) ) ) ) ).
% translation_graph
thf(fact_12_vertices__restrict,axiom,
! [A: $tType,B: $tType,G: labeled_graph @ B @ A] :
( ( labeled_vertices @ B @ A @ ( restrict @ B @ A @ G ) )
= ( labeled_vertices @ B @ A @ G ) ) ).
% vertices_restrict
thf(fact_13_old_Oprod_Oinject,axiom,
! [A: $tType,B: $tType,A2: A,B2: B,A3: A,B3: B] :
( ( ( product_Pair @ A @ B @ A2 @ B2 )
= ( product_Pair @ A @ B @ A3 @ B3 ) )
= ( ( A2 = A3 )
& ( B2 = B3 ) ) ) ).
% old.prod.inject
thf(fact_14_prod_Oinject,axiom,
! [A: $tType,B: $tType,X1: A,X22: B,Y1: A,Y2: B] :
( ( ( product_Pair @ A @ B @ X1 @ X22 )
= ( product_Pair @ A @ B @ Y1 @ Y2 ) )
= ( ( X1 = Y1 )
& ( X22 = Y2 ) ) ) ).
% prod.inject
thf(fact_15_restrict__idemp,axiom,
! [B: $tType,A: $tType,X4: labeled_graph @ A @ B] :
( ( restrict @ A @ B @ ( restrict @ A @ B @ X4 ) )
= ( restrict @ A @ B @ X4 ) ) ).
% restrict_idemp
thf(fact_16_old_Oprod_Oinducts,axiom,
! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
( ! [A4: A,B4: B] : ( P @ ( product_Pair @ A @ B @ A4 @ B4 ) )
=> ( P @ Prod ) ) ).
% old.prod.inducts
thf(fact_17_old_Oprod_Oexhaust,axiom,
! [A: $tType,B: $tType,Y3: product_prod @ A @ B] :
~ ! [A4: A,B4: B] :
( Y3
!= ( product_Pair @ A @ B @ A4 @ B4 ) ) ).
% old.prod.exhaust
thf(fact_18_prod__induct7,axiom,
! [G2: $tType,F: $tType,E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) ) ) ) ) > $o,X4: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) ) ) )] :
( ! [A4: A,B4: B,C2: C,D2: D,E2: E,F2: F,G3: G2] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F @ G2 ) @ E2 @ ( product_Pair @ F @ G2 @ F2 @ G3 ) ) ) ) ) ) )
=> ( P @ X4 ) ) ).
% prod_induct7
thf(fact_19_prod__induct6,axiom,
! [F: $tType,E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) > $o,X4: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) )] :
( ! [A4: A,B4: B,C2: C,D2: D,E2: E,F2: F] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ F ) @ D2 @ ( product_Pair @ E @ F @ E2 @ F2 ) ) ) ) ) )
=> ( P @ X4 ) ) ).
% prod_induct6
thf(fact_20_prod__induct5,axiom,
! [E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) > $o,X4: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
( ! [A4: A,B4: B,C2: C,D2: D,E2: E] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C2 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) )
=> ( P @ X4 ) ) ).
% prod_induct5
thf(fact_21_prod__induct4,axiom,
! [D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) > $o,X4: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
( ! [A4: A,B4: B,C2: C,D2: D] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B4 @ ( product_Pair @ C @ D @ C2 @ D2 ) ) ) )
=> ( P @ X4 ) ) ).
% prod_induct4
thf(fact_22_prod__induct3,axiom,
! [C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,X4: product_prod @ A @ ( product_prod @ B @ C )] :
( ! [A4: A,B4: B,C2: C] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A4 @ ( product_Pair @ B @ C @ B4 @ C2 ) ) )
=> ( P @ X4 ) ) ).
% prod_induct3
thf(fact_23_prod__cases7,axiom,
! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F: $tType,G2: $tType,Y3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) ) ) )] :
~ ! [A4: A,B4: B,C2: C,D2: D,E2: E,F2: F,G3: G2] :
( Y3
!= ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F @ G2 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F @ G2 ) @ E2 @ ( product_Pair @ F @ G2 @ F2 @ G3 ) ) ) ) ) ) ) ).
% prod_cases7
thf(fact_24_prod__cases6,axiom,
! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F: $tType,Y3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) )] :
~ ! [A4: A,B4: B,C2: C,D2: D,E2: E,F2: F] :
( Y3
!= ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ F ) @ D2 @ ( product_Pair @ E @ F @ E2 @ F2 ) ) ) ) ) ) ).
% prod_cases6
thf(fact_25_prod__cases5,axiom,
! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,Y3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
~ ! [A4: A,B4: B,C2: C,D2: D,E2: E] :
( Y3
!= ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C2 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) ) ).
% prod_cases5
thf(fact_26_prod__cases4,axiom,
! [A: $tType,B: $tType,C: $tType,D: $tType,Y3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
~ ! [A4: A,B4: B,C2: C,D2: D] :
( Y3
!= ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B4 @ ( product_Pair @ C @ D @ C2 @ D2 ) ) ) ) ).
% prod_cases4
thf(fact_27_prod__cases3,axiom,
! [A: $tType,B: $tType,C: $tType,Y3: product_prod @ A @ ( product_prod @ B @ C )] :
~ ! [A4: A,B4: B,C2: C] :
( Y3
!= ( product_Pair @ A @ ( product_prod @ B @ C ) @ A4 @ ( product_Pair @ B @ C @ B4 @ C2 ) ) ) ).
% prod_cases3
thf(fact_28_Pair__inject,axiom,
! [A: $tType,B: $tType,A2: A,B2: B,A3: A,B3: B] :
( ( ( product_Pair @ A @ B @ A2 @ B2 )
= ( product_Pair @ A @ B @ A3 @ B3 ) )
=> ~ ( ( A2 = A3 )
=> ( B2 != B3 ) ) ) ).
% Pair_inject
thf(fact_29_prod__cases,axiom,
! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P2: product_prod @ A @ B] :
( ! [A4: A,B4: B] : ( P @ ( product_Pair @ A @ B @ A4 @ B4 ) )
=> ( P @ P2 ) ) ).
% prod_cases
thf(fact_30_surj__pair,axiom,
! [A: $tType,B: $tType,P2: product_prod @ A @ B] :
? [X5: A,Y4: B] :
( P2
= ( product_Pair @ A @ B @ X5 @ Y4 ) ) ).
% surj_pair
thf(fact_31_fst__conv,axiom,
! [B: $tType,A: $tType,X1: A,X22: B] :
( ( product_fst @ A @ B @ ( product_Pair @ A @ B @ X1 @ X22 ) )
= X1 ) ).
% fst_conv
thf(fact_32_fst__eqD,axiom,
! [B: $tType,A: $tType,X4: A,Y3: B,A2: A] :
( ( ( product_fst @ A @ B @ ( product_Pair @ A @ B @ X4 @ Y3 ) )
= A2 )
=> ( X4 = A2 ) ) ).
% fst_eqD
thf(fact_33_snd__conv,axiom,
! [Aa: $tType,A: $tType,X1: Aa,X22: A] :
( ( product_snd @ Aa @ A @ ( product_Pair @ Aa @ A @ X1 @ X22 ) )
= X22 ) ).
% snd_conv
thf(fact_34_snd__eqD,axiom,
! [B: $tType,A: $tType,X4: B,Y3: A,A2: A] :
( ( ( product_snd @ B @ A @ ( product_Pair @ B @ A @ X4 @ Y3 ) )
= A2 )
=> ( Y3 = A2 ) ) ).
% snd_eqD
thf(fact_35_prod__eq__iff,axiom,
! [B: $tType,A: $tType] :
( ( ^ [Y5: product_prod @ A @ B,Z: product_prod @ A @ B] : Y5 = Z )
= ( ^ [S: product_prod @ A @ B,T3: product_prod @ A @ B] :
( ( ( product_fst @ A @ B @ S )
= ( product_fst @ A @ B @ T3 ) )
& ( ( product_snd @ A @ B @ S )
= ( product_snd @ A @ B @ T3 ) ) ) ) ) ).
% prod_eq_iff
thf(fact_36_prod_Oexpand,axiom,
! [B: $tType,A: $tType,Prod: product_prod @ A @ B,Prod2: product_prod @ A @ B] :
( ( ( ( product_fst @ A @ B @ Prod )
= ( product_fst @ A @ B @ Prod2 ) )
& ( ( product_snd @ A @ B @ Prod )
= ( product_snd @ A @ B @ Prod2 ) ) )
=> ( Prod = Prod2 ) ) ).
% prod.expand
thf(fact_37_prod__eqI,axiom,
! [B: $tType,A: $tType,P2: product_prod @ A @ B,Q: product_prod @ A @ B] :
( ( ( product_fst @ A @ B @ P2 )
= ( product_fst @ A @ B @ Q ) )
=> ( ( ( product_snd @ A @ B @ P2 )
= ( product_snd @ A @ B @ Q ) )
=> ( P2 = Q ) ) ) ).
% prod_eqI
thf(fact_38_labeled__graph_Oexpand,axiom,
! [V: $tType,L: $tType,Labeled_graph: labeled_graph @ L @ V,Labeled_graph2: labeled_graph @ L @ V] :
( ( ( ( labeled_edges @ L @ V @ Labeled_graph )
= ( labeled_edges @ L @ V @ Labeled_graph2 ) )
& ( ( labeled_vertices @ L @ V @ Labeled_graph )
= ( labeled_vertices @ L @ V @ Labeled_graph2 ) ) )
=> ( Labeled_graph = Labeled_graph2 ) ) ).
% labeled_graph.expand
thf(fact_39_surjective__pairing,axiom,
! [B: $tType,A: $tType,T2: product_prod @ A @ B] :
( T2
= ( product_Pair @ A @ B @ ( product_fst @ A @ B @ T2 ) @ ( product_snd @ A @ B @ T2 ) ) ) ).
% surjective_pairing
thf(fact_40_prod_Oexhaust__sel,axiom,
! [B: $tType,A: $tType,Prod: product_prod @ A @ B] :
( Prod
= ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) ) ).
% prod.exhaust_sel
thf(fact_41_subgraph__preserves__hom,axiom,
! [A: $tType,B: $tType,C: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ B,X2: labeled_graph @ A @ C,H: set @ ( product_prod @ C @ B )] :
( ( graph_homomorphism @ A @ B @ B @ A5 @ B5 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A5 ) ) )
=> ( ( graph_homomorphism @ A @ C @ B @ X2 @ A5 @ H )
=> ( graph_homomorphism @ A @ C @ B @ X2 @ B5 @ H ) ) ) ).
% subgraph_preserves_hom
thf(fact_42_subgraph__trans,axiom,
! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B,G_3: labeled_graph @ A @ B] :
( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
=> ( ( graph_homomorphism @ A @ B @ B @ G_2 @ G_3 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_2 ) ) )
=> ( graph_homomorphism @ A @ B @ B @ G_1 @ G_3 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) ) ) ) ).
% subgraph_trans
thf(fact_43_Id__onI,axiom,
! [A: $tType,A2: A,A5: set @ A] :
( ( member @ A @ A2 @ A5 )
=> ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ A2 ) @ ( id_on @ A @ A5 ) ) ) ).
% Id_onI
thf(fact_44_set__of__graph__rules__def,axiom,
! [V: $tType,L: $tType] :
( ( set_of_graph_rules @ L @ V )
= ( ^ [Rs: set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) )] :
! [X6: product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V )] :
( ( member @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ) @ X6 @ Rs )
=> ( ( graph_homomorphism @ L @ V @ V @ ( product_fst @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) @ X6 ) @ ( product_snd @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) @ X6 ) @ ( id_on @ V @ ( labeled_vertices @ L @ V @ ( product_fst @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) @ X6 ) ) ) )
& ( ( product_snd @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) @ X6 )
= ( restrict @ L @ V @ ( product_snd @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) @ X6 ) ) )
& ( finite_finite2 @ V @ ( labeled_vertices @ L @ V @ ( product_snd @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) @ X6 ) ) )
& ( finite_finite2 @ ( product_prod @ L @ ( product_prod @ V @ V ) ) @ ( labeled_edges @ L @ V @ ( product_snd @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) @ X6 ) ) ) ) ) ) ) ).
% set_of_graph_rules_def
thf(fact_45_mem__Collect__eq,axiom,
! [A: $tType,A2: A,P: A > $o] :
( ( member @ A @ A2 @ ( collect @ A @ P ) )
= ( P @ A2 ) ) ).
% mem_Collect_eq
thf(fact_46_Collect__mem__eq,axiom,
! [A: $tType,A5: set @ A] :
( ( collect @ A
@ ^ [X6: A] : ( member @ A @ X6 @ A5 ) )
= A5 ) ).
% Collect_mem_eq
thf(fact_47_Collect__cong,axiom,
! [A: $tType,P: A > $o,Q2: A > $o] :
( ! [X5: A] :
( ( P @ X5 )
= ( Q2 @ X5 ) )
=> ( ( collect @ A @ P )
= ( collect @ A @ Q2 ) ) ) ).
% Collect_cong
thf(fact_48_verts__in__translation,axiom,
! [A: $tType,X2: allegorical_term @ A] : ( inv_translation @ ( labeled_vertices @ A @ nat @ ( translation @ A @ X2 ) ) ) ).
% verts_in_translation
thf(fact_49_old_Oprod_Orec,axiom,
! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A2: A,B2: B] :
( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A2 @ B2 ) )
= ( F1 @ A2 @ B2 ) ) ).
% old.prod.rec
thf(fact_50_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
! [B: $tType,A: $tType,P: A > B > $o,X4: A,Y3: B,A2: product_prod @ A @ B] :
( ( P @ X4 @ Y3 )
=> ( ( A2
= ( product_Pair @ A @ B @ X4 @ Y3 ) )
=> ( P @ ( product_fst @ A @ B @ A2 ) @ ( product_snd @ A @ B @ A2 ) ) ) ) ).
% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_51_conjI__realizer,axiom,
! [A: $tType,B: $tType,P: A > $o,P2: A,Q2: B > $o,Q: B] :
( ( P @ P2 )
=> ( ( Q2 @ Q )
=> ( ( P @ ( product_fst @ A @ B @ ( product_Pair @ A @ B @ P2 @ Q ) ) )
& ( Q2 @ ( product_snd @ A @ B @ ( product_Pair @ A @ B @ P2 @ Q ) ) ) ) ) ) ).
% conjI_realizer
thf(fact_52_exI__realizer,axiom,
! [B: $tType,A: $tType,P: A > B > $o,Y3: A,X4: B] :
( ( P @ Y3 @ X4 )
=> ( P @ ( product_snd @ B @ A @ ( product_Pair @ B @ A @ X4 @ Y3 ) ) @ ( product_fst @ B @ A @ ( product_Pair @ B @ A @ X4 @ Y3 ) ) ) ) ).
% exI_realizer
thf(fact_53_allegorical__term_Oinject_I1_J,axiom,
! [V: $tType,X11: allegorical_term @ V,X12: allegorical_term @ V,Y11: allegorical_term @ V,Y12: allegorical_term @ V] :
( ( ( allegorical_A_Int @ V @ X11 @ X12 )
= ( allegorical_A_Int @ V @ Y11 @ Y12 ) )
= ( ( X11 = Y11 )
& ( X12 = Y12 ) ) ) ).
% allegorical_term.inject(1)
thf(fact_54_fin__maintainedI,axiom,
! [B: $tType,C: $tType,A: $tType,R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ),G: labeled_graph @ A @ C] :
( ! [F3: labeled_graph @ A @ B,F2: set @ ( product_prod @ B @ C )] :
( ( ( F3
= ( restrict @ A @ B @ F3 ) )
& ( finite_finite2 @ B @ ( labeled_vertices @ A @ B @ F3 ) )
& ( finite_finite2 @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( labeled_edges @ A @ B @ F3 ) ) )
=> ( ( graph_homomorphism @ A @ B @ B @ F3 @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ F3 ) ) )
=> ( ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ F3 @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) @ G @ F2 )
=> ( ( graph_homomorphism @ A @ B @ C @ F3 @ G @ F2 )
=> ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ F3 @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) @ G @ F2 ) ) ) ) )
=> ( fin_maintained @ A @ B @ C @ R @ G ) ) ).
% fin_maintainedI
thf(fact_55_set__of__graph__rulesD_I1_J,axiom,
! [B: $tType,A: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
( ( set_of_graph_rules @ A @ B @ Rs2 )
=> ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R @ Rs2 )
=> ( ( ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R )
= ( restrict @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) )
& ( finite_finite2 @ B @ ( labeled_vertices @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) )
& ( finite_finite2 @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( labeled_edges @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) ) ) ) ) ).
% set_of_graph_rulesD(1)
thf(fact_56_set__of__graph__rulesD_I2_J,axiom,
! [B: $tType,A: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
( ( set_of_graph_rules @ A @ B @ Rs2 )
=> ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R @ Rs2 )
=> ( ( ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R )
= ( restrict @ A @ B @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) )
& ( finite_finite2 @ B @ ( labeled_vertices @ A @ B @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) )
& ( finite_finite2 @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( labeled_edges @ A @ B @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) ) ) ) ) ).
% set_of_graph_rulesD(2)
thf(fact_57_extensible__refl,axiom,
! [A: $tType,C: $tType,B: $tType,R: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C )] :
( ( graph_homomorphism @ A @ B @ C @ R @ G @ F4 )
=> ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R @ R ) @ G @ F4 ) ) ).
% extensible_refl
thf(fact_58_set__of__graph__rulesD_I3_J,axiom,
! [B: $tType,A: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
( ( set_of_graph_rules @ A @ B @ Rs2 )
=> ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R @ Rs2 )
=> ( graph_homomorphism @ A @ B @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) ) ) ) ) ).
% set_of_graph_rulesD(3)
thf(fact_59_exE__realizer_H,axiom,
! [A: $tType,B: $tType,P: A > B > $o,P2: product_prod @ B @ A] :
( ( P @ ( product_snd @ B @ A @ P2 ) @ ( product_fst @ B @ A @ P2 ) )
=> ~ ! [X5: B,Y4: A] :
~ ( P @ Y4 @ X5 ) ) ).
% exE_realizer'
thf(fact_60_Id__onE,axiom,
! [A: $tType,C3: product_prod @ A @ A,A5: set @ A] :
( ( member @ ( product_prod @ A @ A ) @ C3 @ ( id_on @ A @ A5 ) )
=> ~ ! [X5: A] :
( ( member @ A @ X5 @ A5 )
=> ( C3
!= ( product_Pair @ A @ A @ X5 @ X5 ) ) ) ) ).
% Id_onE
thf(fact_61_Id__on__eqI,axiom,
! [A: $tType,A2: A,B2: A,A5: set @ A] :
( ( A2 = B2 )
=> ( ( member @ A @ A2 @ A5 )
=> ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ B2 ) @ ( id_on @ A @ A5 ) ) ) ) ).
% Id_on_eqI
thf(fact_62_Id__on__iff,axiom,
! [A: $tType,X4: A,Y3: A,A5: set @ A] :
( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X4 @ Y3 ) @ ( id_on @ A @ A5 ) )
= ( ( X4 = Y3 )
& ( member @ A @ X4 @ A5 ) ) ) ).
% Id_on_iff
thf(fact_63_fin__maintained__def,axiom,
! [V: $tType,X: $tType,L: $tType] :
( ( fin_maintained @ L @ X @ V )
= ( ^ [R2: product_prod @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ),G4: labeled_graph @ L @ V] :
! [F5: labeled_graph @ L @ X,F6: set @ ( product_prod @ X @ V )] :
( ( ( F5
= ( restrict @ L @ X @ F5 ) )
& ( finite_finite2 @ X @ ( labeled_vertices @ L @ X @ F5 ) )
& ( finite_finite2 @ ( product_prod @ L @ ( product_prod @ X @ X ) ) @ ( labeled_edges @ L @ X @ F5 ) ) )
=> ( ( graph_homomorphism @ L @ X @ X @ F5 @ ( product_fst @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) @ R2 ) @ ( id_on @ X @ ( labeled_vertices @ L @ X @ F5 ) ) )
=> ( ( extensible @ L @ X @ V @ ( product_Pair @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) @ F5 @ ( product_fst @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) @ R2 ) ) @ G4 @ F6 )
=> ( ( graph_homomorphism @ L @ X @ V @ F5 @ G4 @ F6 )
=> ( extensible @ L @ X @ V @ ( product_Pair @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) @ F5 @ ( product_snd @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) @ R2 ) ) @ G4 @ F6 ) ) ) ) ) ) ) ).
% fin_maintained_def
thf(fact_64_fin__maintained__maintained,axiom,
! [B: $tType,C: $tType,A: $tType,R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ),G: labeled_graph @ A @ C] :
( ( ( ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R )
= ( restrict @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) )
& ( finite_finite2 @ B @ ( labeled_vertices @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) )
& ( finite_finite2 @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( labeled_edges @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) ) )
=> ( ( fin_maintained @ A @ B @ C @ R @ G )
= ( maintained @ A @ B @ C @ R @ G ) ) ) ).
% fin_maintained_maintained
thf(fact_65_consequence__graphD_I2_J,axiom,
! [C: $tType,B: $tType,A: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),G: labeled_graph @ A @ C,R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
( ( consequence_graph @ A @ B @ C @ Rs2 @ G )
=> ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R @ Rs2 )
=> ( graph_homomorphism @ A @ B @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) ) ) ) ) ) ).
% consequence_graphD(2)
thf(fact_66_finite__code,axiom,
! [A: $tType] :
( ( finite_finite @ A )
=> ( ( finite_finite2 @ A )
= ( ^ [A6: set @ A] : $true ) ) ) ).
% finite_code
thf(fact_67_fair__chainD_I2_J,axiom,
! [A: $tType,C: $tType,B: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),S2: nat > ( labeled_graph @ A @ C ),R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ),I: nat,F4: set @ ( product_prod @ B @ C )] :
( ( fair_chain @ A @ B @ C @ Rs2 @ S2 )
=> ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R @ Rs2 )
=> ( ( graph_homomorphism @ A @ B @ C @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) @ ( S2 @ I ) @ F4 )
=> ? [J: nat] : ( extensible @ A @ B @ C @ R @ ( S2 @ J ) @ F4 ) ) ) ) ).
% fair_chainD(2)
thf(fact_68_identity__rules__graph__rule,axiom,
! [A: $tType,X4: product_prod @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ),L2: set @ ( standard_Constant @ A )] :
( ( member @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) ) @ X4 @ ( standa2002409347_rules @ A @ L2 ) )
=> ( ( graph_homomorphism @ ( standard_Constant @ A ) @ nat @ nat @ ( product_fst @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ X4 ) @ ( product_snd @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ X4 ) @ ( id_on @ nat @ ( labeled_vertices @ ( standard_Constant @ A ) @ nat @ ( product_fst @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ X4 ) ) ) )
& ( ( product_snd @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ X4 )
= ( restrict @ ( standard_Constant @ A ) @ nat @ ( product_snd @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ X4 ) ) )
& ( finite_finite2 @ nat @ ( labeled_vertices @ ( standard_Constant @ A ) @ nat @ ( product_snd @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ X4 ) ) )
& ( finite_finite2 @ ( product_prod @ ( standard_Constant @ A ) @ ( product_prod @ nat @ nat ) ) @ ( labeled_edges @ ( standard_Constant @ A ) @ nat @ ( product_snd @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ X4 ) ) ) ) ) ).
% identity_rules_graph_rule
thf(fact_69_maintainedI,axiom,
! [A: $tType,B: $tType,C: $tType,A5: labeled_graph @ C @ A,G: labeled_graph @ C @ B,B5: labeled_graph @ C @ A] :
( ! [F2: set @ ( product_prod @ A @ B )] :
( ( graph_homomorphism @ C @ A @ B @ A5 @ G @ F2 )
=> ( extensible @ C @ A @ B @ ( product_Pair @ ( labeled_graph @ C @ A ) @ ( labeled_graph @ C @ A ) @ A5 @ B5 ) @ G @ F2 ) )
=> ( maintained @ C @ A @ B @ ( product_Pair @ ( labeled_graph @ C @ A ) @ ( labeled_graph @ C @ A ) @ A5 @ B5 ) @ G ) ) ).
% maintainedI
thf(fact_70_sndI,axiom,
! [A: $tType,B: $tType,X4: product_prod @ A @ B,Y3: A,Z2: B] :
( ( X4
= ( product_Pair @ A @ B @ Y3 @ Z2 ) )
=> ( ( product_snd @ A @ B @ X4 )
= Z2 ) ) ).
% sndI
thf(fact_71_finite__identity__rules,axiom,
! [A: $tType,L2: set @ ( standard_Constant @ A )] :
( ( finite_finite2 @ ( standard_Constant @ A ) @ L2 )
=> ( finite_finite2 @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) ) @ ( standa2002409347_rules @ A @ L2 ) ) ) ).
% finite_identity_rules
thf(fact_72_maintained__refl,axiom,
! [B: $tType,C: $tType,A: $tType,R: labeled_graph @ A @ B,G: labeled_graph @ A @ C] : ( maintained @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R @ R ) @ G ) ).
% maintained_refl
thf(fact_73_consequence__graphI,axiom,
! [B: $tType,C: $tType,A: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),G: labeled_graph @ A @ C] :
( ! [R3: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R3 @ Rs2 )
=> ( maintained @ A @ B @ C @ R3 @ G ) )
=> ( ! [R3: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R3 @ Rs2 )
=> ( graph_homomorphism @ A @ B @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 ) @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 ) ) ) ) )
=> ( ( G
= ( restrict @ A @ C @ G ) )
=> ( consequence_graph @ A @ B @ C @ Rs2 @ G ) ) ) ) ).
% consequence_graphI
thf(fact_74_consequence__graphD_I1_J,axiom,
! [B: $tType,C: $tType,A: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),G: labeled_graph @ A @ C,R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
( ( consequence_graph @ A @ B @ C @ Rs2 @ G )
=> ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R @ Rs2 )
=> ( maintained @ A @ B @ C @ R @ G ) ) ) ).
% consequence_graphD(1)
thf(fact_75_consequence__graphD_I3_J,axiom,
! [B: $tType,C: $tType,A: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),G: labeled_graph @ A @ C] :
( ( consequence_graph @ A @ B @ C @ Rs2 @ G )
=> ( G
= ( restrict @ A @ C @ G ) ) ) ).
% consequence_graphD(3)
thf(fact_76_maintained__then__fin__maintained,axiom,
! [B: $tType,C: $tType,A: $tType,R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ),G: labeled_graph @ A @ C] :
( ( maintained @ A @ B @ C @ R @ G )
=> ( fin_maintained @ A @ B @ C @ R @ G ) ) ).
% maintained_then_fin_maintained
thf(fact_77_finite,axiom,
! [A: $tType] :
( ( finite_finite @ A )
=> ! [A5: set @ A] : ( finite_finite2 @ A @ A5 ) ) ).
% finite
thf(fact_78_finite__set__choice,axiom,
! [B: $tType,A: $tType,A5: set @ A,P: A > B > $o] :
( ( finite_finite2 @ A @ A5 )
=> ( ! [X5: A] :
( ( member @ A @ X5 @ A5 )
=> ? [X_1: B] : ( P @ X5 @ X_1 ) )
=> ? [F2: A > B] :
! [X7: A] :
( ( member @ A @ X7 @ A5 )
=> ( P @ X7 @ ( F2 @ X7 ) ) ) ) ) ).
% finite_set_choice
thf(fact_79_consequence__graph__def,axiom,
! [C: $tType,B: $tType,A: $tType] :
( ( consequence_graph @ A @ B @ C )
= ( ^ [Rs: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),G4: labeled_graph @ A @ C] :
( ( G4
= ( restrict @ A @ C @ G4 ) )
& ! [X6: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ X6 @ Rs )
=> ( ( graph_homomorphism @ A @ B @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ X6 ) @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ X6 ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ X6 ) ) ) )
& ( maintained @ A @ B @ C @ X6 @ G4 ) ) ) ) ) ) ).
% consequence_graph_def
thf(fact_80_maintained__def,axiom,
! [V: $tType,X: $tType,L: $tType] :
( ( maintained @ L @ X @ V )
= ( ^ [R2: product_prod @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ),G4: labeled_graph @ L @ V] :
! [F6: set @ ( product_prod @ X @ V )] :
( ( graph_homomorphism @ L @ X @ V @ ( product_fst @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) @ R2 ) @ G4 @ F6 )
=> ( extensible @ L @ X @ V @ R2 @ G4 @ F6 ) ) ) ) ).
% maintained_def
thf(fact_81_maintainedD,axiom,
! [A: $tType,C: $tType,B: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C )] :
( ( maintained @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ A5 @ B5 ) @ G )
=> ( ( graph_homomorphism @ A @ B @ C @ A5 @ G @ F4 )
=> ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ A5 @ B5 ) @ G @ F4 ) ) ) ).
% maintainedD
thf(fact_82_fstI,axiom,
! [B: $tType,A: $tType,X4: product_prod @ A @ B,Y3: A,Z2: B] :
( ( X4
= ( product_Pair @ A @ B @ Y3 @ Z2 ) )
=> ( ( product_fst @ A @ B @ X4 )
= Y3 ) ) ).
% fstI
thf(fact_83_least__consequence__graphI,axiom,
! [X: $tType,A: $tType,C: $tType,L: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ L @ A ) @ ( labeled_graph @ L @ A ) ),G: labeled_graph @ L @ C,S2: labeled_graph @ L @ C,T2: itself @ X] :
( ( consequence_graph @ L @ A @ C @ Rs2 @ G )
=> ( ( graph_homomorphism @ L @ C @ C @ S2 @ G @ ( id_on @ C @ ( labeled_vertices @ L @ C @ S2 ) ) )
=> ( ! [C4: labeled_graph @ L @ X] :
( ( consequence_graph @ L @ A @ X @ Rs2 @ C4 )
=> ( maintained @ L @ C @ X @ ( product_Pair @ ( labeled_graph @ L @ C ) @ ( labeled_graph @ L @ C ) @ S2 @ G ) @ C4 ) )
=> ( least_559130134_graph @ X @ L @ A @ C @ T2 @ Rs2 @ S2 @ G ) ) ) ) ).
% least_consequence_graphI
thf(fact_84_leastI,axiom,
! [X: $tType,A: $tType,C: $tType,L: $tType,S2: labeled_graph @ L @ C,G: labeled_graph @ L @ C,Rs2: set @ ( product_prod @ ( labeled_graph @ L @ A ) @ ( labeled_graph @ L @ A ) ),T2: itself @ X] :
( ( graph_homomorphism @ L @ C @ C @ S2 @ G @ ( id_on @ C @ ( labeled_vertices @ L @ C @ S2 ) ) )
=> ( ! [C4: labeled_graph @ L @ X] :
( ( consequence_graph @ L @ A @ X @ Rs2 @ C4 )
=> ( maintained @ L @ C @ X @ ( product_Pair @ ( labeled_graph @ L @ C ) @ ( labeled_graph @ L @ C ) @ S2 @ G ) @ C4 ) )
=> ( least @ X @ L @ A @ C @ T2 @ Rs2 @ S2 @ G ) ) ) ).
% leastI
thf(fact_85_least__def,axiom,
! [L: $tType,V: $tType,C: $tType,X: $tType] :
( ( least @ X @ L @ V @ C )
= ( ^ [Uu: itself @ X,Rs: set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ),S3: labeled_graph @ L @ C,G4: labeled_graph @ L @ C] :
( ( graph_homomorphism @ L @ C @ C @ S3 @ G4 @ ( id_on @ C @ ( labeled_vertices @ L @ C @ S3 ) ) )
& ! [C5: labeled_graph @ L @ X] :
( ( consequence_graph @ L @ V @ X @ Rs @ C5 )
=> ( maintained @ L @ C @ X @ ( product_Pair @ ( labeled_graph @ L @ C ) @ ( labeled_graph @ L @ C ) @ S3 @ G4 ) @ C5 ) ) ) ) ) ).
% least_def
thf(fact_86_fair__chain__impl__consequence__graph,axiom,
! [B: $tType,C: $tType,A: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),S2: nat > ( labeled_graph @ A @ C )] :
( ( fair_chain @ A @ B @ C @ Rs2 @ S2 )
=> ( ! [R3: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R3 @ Rs2 )
=> ( ( graph_homomorphism @ A @ B @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 ) @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 ) ) ) )
& ( ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 )
= ( restrict @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 ) ) )
& ( finite_finite2 @ B @ ( labeled_vertices @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 ) ) )
& ( finite_finite2 @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( labeled_edges @ A @ B @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R3 ) ) ) ) )
=> ( consequence_graph @ A @ B @ C @ Rs2 @ ( chain_sup @ A @ C @ S2 ) ) ) ) ).
% fair_chain_impl_consequence_graph
thf(fact_87_fair__chainI,axiom,
! [C: $tType,B: $tType,A: $tType,S2: nat > ( labeled_graph @ A @ B ),Rs2: set @ ( product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) )] :
( ( chain @ A @ B @ S2 )
=> ( ! [R3: product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ),F2: set @ ( product_prod @ C @ B ),I2: nat] :
( ( member @ ( product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) ) @ R3 @ Rs2 )
=> ( ( graph_homomorphism @ A @ C @ B @ ( product_fst @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) @ R3 ) @ ( S2 @ I2 ) @ F2 )
=> ? [J2: nat] : ( extensible @ A @ C @ B @ R3 @ ( S2 @ J2 ) @ F2 ) ) )
=> ( fair_chain @ A @ C @ B @ Rs2 @ S2 ) ) ) ).
% fair_chainI
thf(fact_88_maintained__holds__iff,axiom,
! [B: $tType,A: $tType,G: labeled_graph @ A @ B,E_L: allegorical_term @ A,E_R: allegorical_term @ A] :
( ( G
= ( restrict @ A @ B @ G ) )
=> ( ( maintained @ A @ nat @ B @ ( product_Pair @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( translation @ A @ E_L ) @ ( translation @ A @ ( allegorical_A_Int @ A @ E_L @ E_R ) ) ) @ G )
= ( ( semantics @ A @ B @ G @ ( product_fst @ ( allegorical_term @ A ) @ ( allegorical_term @ A ) @ ( product_Pair @ ( allegorical_term @ A ) @ ( allegorical_term @ A ) @ E_L @ ( allegorical_A_Int @ A @ E_L @ E_R ) ) ) )
= ( semantics @ A @ B @ G @ ( product_snd @ ( allegorical_term @ A ) @ ( allegorical_term @ A ) @ ( product_Pair @ ( allegorical_term @ A ) @ ( allegorical_term @ A ) @ E_L @ ( allegorical_A_Int @ A @ E_L @ E_R ) ) ) ) ) ) ) ).
% maintained_holds_iff
thf(fact_89_fair__chain__def,axiom,
! [C: $tType,B: $tType,A: $tType] :
( ( fair_chain @ A @ B @ C )
= ( ^ [Rs: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),S3: nat > ( labeled_graph @ A @ C )] :
( ( chain @ A @ C @ S3 )
& ! [R2: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ),F6: set @ ( product_prod @ B @ C ),I3: nat] :
( ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R2 @ Rs )
& ( graph_homomorphism @ A @ B @ C @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R2 ) @ ( S3 @ I3 ) @ F6 ) )
=> ? [J3: nat] : ( extensible @ A @ B @ C @ R2 @ ( S3 @ J3 ) @ F6 ) ) ) ) ) ).
% fair_chain_def
thf(fact_90_chain__sup__graph,axiom,
! [B: $tType,A: $tType,S2: nat > ( labeled_graph @ A @ B )] :
( ( chain @ A @ B @ S2 )
=> ( ( chain_sup @ A @ B @ S2 )
= ( restrict @ A @ B @ ( chain_sup @ A @ B @ S2 ) ) ) ) ).
% chain_sup_graph
thf(fact_91_extensible__chain__sup,axiom,
! [A: $tType,B: $tType,C: $tType,S2: nat > ( labeled_graph @ A @ B ),R: product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ),J4: nat,F4: set @ ( product_prod @ C @ B )] :
( ( chain @ A @ B @ S2 )
=> ( ( extensible @ A @ C @ B @ R @ ( S2 @ J4 ) @ F4 )
=> ( extensible @ A @ C @ B @ R @ ( chain_sup @ A @ B @ S2 ) @ F4 ) ) ) ).
% extensible_chain_sup
thf(fact_92_chain__sup__subgraph,axiom,
! [A: $tType,B: $tType,S2: nat > ( labeled_graph @ A @ B ),J4: nat] :
( ( chain @ A @ B @ S2 )
=> ( graph_homomorphism @ A @ B @ B @ ( S2 @ J4 ) @ ( chain_sup @ A @ B @ S2 ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ ( S2 @ J4 ) ) ) ) ) ).
% chain_sup_subgraph
thf(fact_93_chain__then__restrict,axiom,
! [A: $tType,B: $tType,S2: nat > ( labeled_graph @ A @ B ),I: nat] :
( ( chain @ A @ B @ S2 )
=> ( ( S2 @ I )
= ( restrict @ A @ B @ ( S2 @ I ) ) ) ) ).
% chain_then_restrict
thf(fact_94_least__consequence__graph__def,axiom,
! [L: $tType,V: $tType,C: $tType,X: $tType] :
( ( least_559130134_graph @ X @ L @ V @ C )
= ( ^ [T3: itself @ X,Rs: set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ),S3: labeled_graph @ L @ C,G4: labeled_graph @ L @ C] :
( ( consequence_graph @ L @ V @ C @ Rs @ G4 )
& ( least @ X @ L @ V @ C @ T3 @ Rs @ S3 @ G4 ) ) ) ) ).
% least_consequence_graph_def
thf(fact_95_graph__homomorphism__semantics,axiom,
! [B: $tType,C: $tType,A: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C ),A2: B,B2: B,E3: allegorical_term @ A,A3: C,B3: C] :
( ( graph_homomorphism @ A @ B @ C @ A5 @ B5 @ F4 )
=> ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A2 @ B2 ) @ ( semantics @ A @ B @ A5 @ E3 ) )
=> ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ A2 @ A3 ) @ F4 )
=> ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B2 @ B3 ) @ F4 )
=> ( member @ ( product_prod @ C @ C ) @ ( product_Pair @ C @ C @ A3 @ B3 ) @ ( semantics @ A @ C @ B5 @ E3 ) ) ) ) ) ) ).
% graph_homomorphism_semantics
thf(fact_96_fair__chainD_I1_J,axiom,
! [B: $tType,C: $tType,A: $tType,Rs2: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),S2: nat > ( labeled_graph @ A @ C )] :
( ( fair_chain @ A @ B @ C @ Rs2 @ S2 )
=> ( chain @ A @ C @ S2 ) ) ).
% fair_chainD(1)
thf(fact_97_semantics__in__vertices_I2_J,axiom,
! [B: $tType,A: $tType,A5: labeled_graph @ A @ B,A2: B,B2: B,E3: allegorical_term @ A] :
( ( A5
= ( restrict @ A @ B @ A5 ) )
=> ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A2 @ B2 ) @ ( semantics @ A @ B @ A5 @ E3 ) )
=> ( member @ B @ B2 @ ( labeled_vertices @ A @ B @ A5 ) ) ) ) ).
% semantics_in_vertices(2)
thf(fact_98_semantics__in__vertices_I1_J,axiom,
! [B: $tType,A: $tType,A5: labeled_graph @ A @ B,A2: B,B2: B,E3: allegorical_term @ A] :
( ( A5
= ( restrict @ A @ B @ A5 ) )
=> ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A2 @ B2 ) @ ( semantics @ A @ B @ A5 @ E3 ) )
=> ( member @ B @ A2 @ ( labeled_vertices @ A @ B @ A5 ) ) ) ) ).
% semantics_in_vertices(1)
thf(fact_99_subgraph__semantics,axiom,
! [B: $tType,A: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ B,A2: B,B2: B,E3: allegorical_term @ A] :
( ( graph_homomorphism @ A @ B @ B @ A5 @ B5 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A5 ) ) )
=> ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A2 @ B2 ) @ ( semantics @ A @ B @ A5 @ E3 ) )
=> ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A2 @ B2 ) @ ( semantics @ A @ B @ B5 @ E3 ) ) ) ) ).
% subgraph_semantics
thf(fact_100_eq__as__subsets,axiom,
! [A: $tType,B: $tType,G: labeled_graph @ B @ A,E_1: allegorical_term @ B,E_2: allegorical_term @ B] :
( ( ( semantics @ B @ A @ G @ ( product_fst @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_1 @ E_2 ) ) )
= ( semantics @ B @ A @ G @ ( product_snd @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_1 @ E_2 ) ) ) )
= ( ( ( semantics @ B @ A @ G @ ( product_fst @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_1 @ ( allegorical_A_Int @ B @ E_1 @ E_2 ) ) ) )
= ( semantics @ B @ A @ G @ ( product_snd @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_1 @ ( allegorical_A_Int @ B @ E_1 @ E_2 ) ) ) ) )
& ( ( semantics @ B @ A @ G @ ( product_fst @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_2 @ ( allegorical_A_Int @ B @ E_2 @ E_1 ) ) ) )
= ( semantics @ B @ A @ G @ ( product_snd @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_2 @ ( allegorical_A_Int @ B @ E_2 @ E_1 ) ) ) ) ) ) ) ).
% eq_as_subsets
thf(fact_101_maintained__holds__subset__iff,axiom,
! [B: $tType,A: $tType,G: labeled_graph @ A @ B,E_L: allegorical_term @ A,E_R: allegorical_term @ A] :
( ( G
= ( restrict @ A @ B @ G ) )
=> ( ( maintained @ A @ nat @ B @ ( product_Pair @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) @ ( translation @ A @ ( product_fst @ ( allegorical_term @ A ) @ ( allegorical_term @ A ) @ ( product_Pair @ ( allegorical_term @ A ) @ ( allegorical_term @ A ) @ E_L @ ( allegorical_A_Int @ A @ E_L @ E_R ) ) ) ) @ ( translation @ A @ ( product_snd @ ( allegorical_term @ A ) @ ( allegorical_term @ A ) @ ( product_Pair @ ( allegorical_term @ A ) @ ( allegorical_term @ A ) @ E_L @ ( allegorical_A_Int @ A @ E_L @ E_R ) ) ) ) ) @ G )
= ( ord_less_eq @ ( set @ ( product_prod @ B @ B ) ) @ ( semantics @ A @ B @ G @ E_L ) @ ( semantics @ A @ B @ G @ E_R ) ) ) ) ).
% maintained_holds_subset_iff
thf(fact_102_maintained__holds,axiom,
! [A: $tType,B: $tType,G: labeled_graph @ B @ A,E_L: allegorical_term @ B,E_R: allegorical_term @ B] :
( ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ ( semantics @ B @ A @ G @ E_L ) @ ( semantics @ B @ A @ G @ E_R ) )
=> ( maintained @ B @ nat @ A @ ( product_Pair @ ( labeled_graph @ B @ nat ) @ ( labeled_graph @ B @ nat ) @ ( translation @ B @ ( product_fst @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_L @ ( allegorical_A_Int @ B @ E_L @ E_R ) ) ) ) @ ( translation @ B @ ( product_snd @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_L @ ( allegorical_A_Int @ B @ E_L @ E_R ) ) ) ) ) @ G ) ) ).
% maintained_holds
thf(fact_103_sentence__iff,axiom,
! [A: $tType,B: $tType,G: labeled_graph @ B @ A,E_1: allegorical_term @ B,E_2: allegorical_term @ B] :
( ( ( semantics @ B @ A @ G @ ( product_fst @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_1 @ ( allegorical_A_Int @ B @ E_1 @ E_2 ) ) ) )
= ( semantics @ B @ A @ G @ ( product_snd @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ ( product_Pair @ ( allegorical_term @ B ) @ ( allegorical_term @ B ) @ E_1 @ ( allegorical_A_Int @ B @ E_1 @ E_2 ) ) ) ) )
= ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ ( semantics @ B @ A @ G @ E_1 ) @ ( semantics @ B @ A @ G @ E_2 ) ) ) ).
% sentence_iff
thf(fact_104_find__graph__occurence,axiom,
! [A: $tType,B: $tType,C: $tType,S2: nat > ( labeled_graph @ A @ B ),E4: set @ ( product_prod @ A @ ( product_prod @ C @ C ) ),V2: set @ C,F4: set @ ( product_prod @ C @ B )] :
( ( chain @ A @ B @ S2 )
=> ( ( finite_finite2 @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ E4 )
=> ( ( finite_finite2 @ C @ V2 )
=> ( ( graph_homomorphism @ A @ C @ B @ ( labeled_LG @ A @ C @ E4 @ V2 ) @ ( chain_sup @ A @ B @ S2 ) @ F4 )
=> ? [I2: nat] : ( graph_homomorphism @ A @ C @ B @ ( labeled_LG @ A @ C @ E4 @ V2 ) @ ( S2 @ I2 ) @ F4 ) ) ) ) ) ).
% find_graph_occurence
thf(fact_105_eq__snd__iff,axiom,
! [A: $tType,B: $tType,B2: A,P2: product_prod @ B @ A] :
( ( B2
= ( product_snd @ B @ A @ P2 ) )
= ( ? [A7: B] :
( P2
= ( product_Pair @ B @ A @ A7 @ B2 ) ) ) ) ).
% eq_snd_iff
thf(fact_106_eq__fst__iff,axiom,
! [A: $tType,B: $tType,A2: A,P2: product_prod @ A @ B] :
( ( A2
= ( product_fst @ A @ B @ P2 ) )
= ( ? [B6: B] :
( P2
= ( product_Pair @ A @ B @ A2 @ B6 ) ) ) ) ).
% eq_fst_iff
thf(fact_107_labeled__graph_Oinject,axiom,
! [L: $tType,V: $tType,X1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X22: set @ V,Y1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),Y2: set @ V] :
( ( ( labeled_LG @ L @ V @ X1 @ X22 )
= ( labeled_LG @ L @ V @ Y1 @ Y2 ) )
= ( ( X1 = Y1 )
& ( X22 = Y2 ) ) ) ).
% labeled_graph.inject
thf(fact_108_labeled__graph_Ocollapse,axiom,
! [V: $tType,L: $tType,Labeled_graph: labeled_graph @ L @ V] :
( ( labeled_LG @ L @ V @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) )
= Labeled_graph ) ).
% labeled_graph.collapse
thf(fact_109_extensible__refl__concr,axiom,
! [A: $tType,C: $tType,B: $tType,E_1: set @ ( product_prod @ A @ ( product_prod @ B @ B ) ),V3: set @ B,G: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C ),E_2: set @ ( product_prod @ A @ ( product_prod @ B @ B ) )] :
( ( graph_homomorphism @ A @ B @ C @ ( labeled_LG @ A @ B @ E_1 @ V3 ) @ G @ F4 )
=> ( ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ ( labeled_LG @ A @ B @ E_1 @ V3 ) @ ( labeled_LG @ A @ B @ E_2 @ V3 ) ) @ G @ F4 )
= ( graph_homomorphism @ A @ B @ C @ ( labeled_LG @ A @ B @ E_2 @ V3 ) @ G @ F4 ) ) ) ).
% extensible_refl_concr
thf(fact_110_labeled__graph_Oexhaust,axiom,
! [L: $tType,V: $tType,Y3: labeled_graph @ L @ V] :
~ ! [X13: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X23: set @ V] :
( Y3
!= ( labeled_LG @ L @ V @ X13 @ X23 ) ) ).
% labeled_graph.exhaust
thf(fact_111_labeled__graph_Oinduct,axiom,
! [V: $tType,L: $tType,P: ( labeled_graph @ L @ V ) > $o,Labeled_graph: labeled_graph @ L @ V] :
( ! [X1a: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X2a: set @ V] : ( P @ ( labeled_LG @ L @ V @ X1a @ X2a ) )
=> ( P @ Labeled_graph ) ) ).
% labeled_graph.induct
thf(fact_112_subrelI,axiom,
! [B: $tType,A: $tType,R4: set @ ( product_prod @ A @ B ),S4: set @ ( product_prod @ A @ B )] :
( ! [X5: A,Y4: B] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y4 ) @ R4 )
=> ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y4 ) @ S4 ) )
=> ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R4 @ S4 ) ) ).
% subrelI
thf(fact_113_finite__has__maximal2,axiom,
! [A: $tType] :
( ( order @ A )
=> ! [A5: set @ A,A2: A] :
( ( finite_finite2 @ A @ A5 )
=> ( ( member @ A @ A2 @ A5 )
=> ? [X5: A] :
( ( member @ A @ X5 @ A5 )
& ( ord_less_eq @ A @ A2 @ X5 )
& ! [Xa: A] :
( ( member @ A @ Xa @ A5 )
=> ( ( ord_less_eq @ A @ X5 @ Xa )
=> ( X5 = Xa ) ) ) ) ) ) ) ).
% finite_has_maximal2
thf(fact_114_finite__has__minimal2,axiom,
! [A: $tType] :
( ( order @ A )
=> ! [A5: set @ A,A2: A] :
( ( finite_finite2 @ A @ A5 )
=> ( ( member @ A @ A2 @ A5 )
=> ? [X5: A] :
( ( member @ A @ X5 @ A5 )
& ( ord_less_eq @ A @ X5 @ A2 )
& ! [Xa: A] :
( ( member @ A @ Xa @ A5 )
=> ( ( ord_less_eq @ A @ Xa @ X5 )
=> ( X5 = Xa ) ) ) ) ) ) ) ).
% finite_has_minimal2
thf(fact_115_finite__subset,axiom,
! [A: $tType,A5: set @ A,B5: set @ A] :
( ( ord_less_eq @ ( set @ A ) @ A5 @ B5 )
=> ( ( finite_finite2 @ A @ B5 )
=> ( finite_finite2 @ A @ A5 ) ) ) ).
% finite_subset
thf(fact_116_infinite__super,axiom,
! [A: $tType,S2: set @ A,T4: set @ A] :
( ( ord_less_eq @ ( set @ A ) @ S2 @ T4 )
=> ( ~ ( finite_finite2 @ A @ S2 )
=> ~ ( finite_finite2 @ A @ T4 ) ) ) ).
% infinite_super
thf(fact_117_rev__finite__subset,axiom,
! [A: $tType,B5: set @ A,A5: set @ A] :
( ( finite_finite2 @ A @ B5 )
=> ( ( ord_less_eq @ ( set @ A ) @ A5 @ B5 )
=> ( finite_finite2 @ A @ A5 ) ) ) ).
% rev_finite_subset
thf(fact_118_labeled__graph_Osel_I2_J,axiom,
! [L: $tType,V: $tType,X1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X22: set @ V] :
( ( labeled_vertices @ L @ V @ ( labeled_LG @ L @ V @ X1 @ X22 ) )
= X22 ) ).
% labeled_graph.sel(2)
thf(fact_119_labeled__graph_Osel_I1_J,axiom,
! [V: $tType,L: $tType,X1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X22: set @ V] :
( ( labeled_edges @ L @ V @ ( labeled_LG @ L @ V @ X1 @ X22 ) )
= X1 ) ).
% labeled_graph.sel(1)
thf(fact_120_restrict__subsD,axiom,
! [B: $tType,A: $tType,G: labeled_graph @ A @ B] :
( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G ) @ ( labeled_edges @ A @ B @ ( restrict @ A @ B @ G ) ) )
=> ( G
= ( restrict @ A @ B @ G ) ) ) ).
% restrict_subsD
thf(fact_121_subgraph__def2,axiom,
! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
( ( G_1
= ( restrict @ A @ B @ G_1 ) )
=> ( ( G_2
= ( restrict @ A @ B @ G_2 ) )
=> ( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
= ( ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_1 ) @ ( labeled_vertices @ A @ B @ G_2 ) )
& ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G_1 ) @ ( labeled_edges @ A @ B @ G_2 ) ) ) ) ) ) ).
% subgraph_def2
thf(fact_122_labeled__graph_Oexhaust__sel,axiom,
! [V: $tType,L: $tType,Labeled_graph: labeled_graph @ L @ V] :
( Labeled_graph
= ( labeled_LG @ L @ V @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) ) ).
% labeled_graph.exhaust_sel
thf(fact_123_subgraph__subset_I1_J,axiom,
! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
=> ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_1 ) @ ( labeled_vertices @ A @ B @ G_2 ) ) ) ).
% subgraph_subset(1)
thf(fact_124_maintainedD2,axiom,
! [A: $tType,C: $tType,B: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C )] :
( ( maintained @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ A5 @ B5 ) @ G )
=> ( ( graph_homomorphism @ A @ B @ C @ A5 @ G @ F4 )
=> ~ ! [G3: set @ ( product_prod @ B @ C )] :
( ( graph_homomorphism @ A @ B @ C @ B5 @ G @ G3 )
=> ~ ( ord_less_eq @ ( set @ ( product_prod @ B @ C ) ) @ F4 @ G3 ) ) ) ) ).
% maintainedD2
thf(fact_125_subgraph__subset_I2_J,axiom,
! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
=> ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ ( restrict @ A @ B @ G_1 ) ) @ ( labeled_edges @ A @ B @ G_2 ) ) ) ).
% subgraph_subset(2)
thf(fact_126_pushout__step__def,axiom,
! [A: $tType,C: $tType,B: $tType,X: $tType] :
( ( pushout_step @ X @ A @ C @ B )
= ( ^ [T3: itself @ X,R2: product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ),G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B] :
( ( graph_homomorphism @ A @ B @ B @ G_12 @ G_22 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_12 ) ) )
& ? [F_1: set @ ( product_prod @ C @ B ),F_2: set @ ( product_prod @ C @ B )] :
( ( graph_homomorphism @ A @ C @ B @ ( product_fst @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) @ R2 ) @ G_12 @ F_1 )
& ( graph_homomorphism @ A @ C @ B @ ( product_snd @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) @ R2 ) @ G_22 @ F_2 )
& ( ord_less_eq @ ( set @ ( product_prod @ C @ B ) ) @ F_1 @ F_2 )
& ( weak_universal @ X @ A @ C @ B @ T3 @ R2 @ G_12 @ G_22 @ F_1 @ F_2 ) ) ) ) ) ).
% pushout_step_def
thf(fact_127_subsetI,axiom,
! [A: $tType,A5: set @ A,B5: set @ A] :
( ! [X5: A] :
( ( member @ A @ X5 @ A5 )
=> ( member @ A @ X5 @ B5 ) )
=> ( ord_less_eq @ ( set @ A ) @ A5 @ B5 ) ) ).
% subsetI
thf(fact_128_subset__antisym,axiom,
! [A: $tType,A5: set @ A,B5: set @ A] :
( ( ord_less_eq @ ( set @ A ) @ A5 @ B5 )
=> ( ( ord_less_eq @ ( set @ A ) @ B5 @ A5 )
=> ( A5 = B5 ) ) ) ).
% subset_antisym
thf(fact_129_order__refl,axiom,
! [A: $tType] :
( ( preorder @ A )
=> ! [X4: A] : ( ord_less_eq @ A @ X4 @ X4 ) ) ).
% order_refl
thf(fact_130_labeled__graph_Osplit__sel__asm,axiom,
! [A: $tType,V: $tType,L: $tType,P: A > $o,F4: ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A,Labeled_graph: labeled_graph @ L @ V] :
( ( P @ ( labele1974067554_graph @ L @ V @ A @ F4 @ Labeled_graph ) )
= ( ~ ( ( Labeled_graph
= ( labeled_LG @ L @ V @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) )
& ~ ( P @ ( F4 @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) ) ) ) ) ).
% labeled_graph.split_sel_asm
thf(fact_131_labeled__graph_Ocase,axiom,
! [L: $tType,A: $tType,V: $tType,F4: ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A,X1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X22: set @ V] :
( ( labele1974067554_graph @ L @ V @ A @ F4 @ ( labeled_LG @ L @ V @ X1 @ X22 ) )
= ( F4 @ X1 @ X22 ) ) ).
% labeled_graph.case
thf(fact_132_dual__order_Oantisym,axiom,
! [A: $tType] :
( ( order @ A )
=> ! [B2: A,A2: A] :
( ( ord_less_eq @ A @ B2 @ A2 )
=> ( ( ord_less_eq @ A @ A2 @ B2 )
=> ( A2 = B2 ) ) ) ) ).
% dual_order.antisym
thf(fact_133_dual__order_Oeq__iff,axiom,
! [A: $tType] :
( ( order @ A )
=> ( ( ^ [Y5: A,Z: A] : Y5 = Z )
= ( ^ [A7: A,B6: A] :
( ( ord_less_eq @ A @ B6 @ A7 )
& ( ord_less_eq @ A @ A7 @ B6 ) ) ) ) ) ).
% dual_order.eq_iff
thf(fact_134_dual__order_Otrans,axiom,
! [A: $tType] :
( ( order @ A )
=> ! [B2: A,A2: A,C3: A] :
( ( ord_less_eq @ A @ B2 @ A2 )
=> ( ( ord_less_eq @ A @ C3 @ B2 )
=> ( ord_less_eq @ A @ C3 @ A2 ) ) ) ) ).
% dual_order.trans
thf(fact_135_linorder__wlog,axiom,
! [A: $tType] :
( ( linorder @ A )
=> ! [P: A > A > $o,A2: A,B2: A] :
( ! [A4: A,B4: A] :
( ( ord_less_eq @ A @ A4 @ B4 )
=> ( P @ A4 @ B4 ) )
=> ( ! [A4: A,B4: A] :
( ( P @ B4 @ A4 )
=> ( P @ A4 @ B4 ) )
=> ( P @ A2 @ B2 ) ) ) ) ).
% linorder_wlog
thf(fact_136_dual__order_Orefl,axiom,
! [A: $tType] :
( ( order @ A )
=> ! [A2: A] : ( ord_less_eq @ A @ A2 @ A2 ) ) ).
% dual_order.refl
thf(fact_137_order__trans,axiom,
! [A: $tType] :
( ( preorder @ A )
=> ! [X4: A,Y3: A,Z2: A] :
( ( ord_less_eq @ A @ X4 @ Y3 )
=> ( ( ord_less_eq @ A @ Y3 @ Z2 )
=> ( ord_less_eq @ A @ X4 @ Z2 ) ) ) ) ).
% order_trans
thf(fact_138_order__class_Oorder_Oantisym,axiom,
! [A: $tType] :
( ( order @ A )
=> ! [A2: A,B2: A] :
( ( ord_less_eq @ A @ A2 @ B2 )
=> ( ( ord_less_eq @ A @ B2 @ A2 )
=> ( A2 = B2 ) ) ) ) ).
% order_class.order.antisym
thf(fact_139_ord__le__eq__trans,axiom,
! [A: $tType] :
( ( ord @ A )
=> ! [A2: A,B2: A,C3: A] :
( ( ord_less_eq @ A @ A2 @ B2 )
=> ( ( B2 = C3 )
=> ( ord_less_eq @ A @ A2 @ C3 ) ) ) ) ).
% ord_le_eq_trans
thf(fact_140_ord__eq__le__trans,axiom,
! [A: $tType] :
( ( ord @ A )
=> ! [A2: A,B2: A,C3: A] :
( ( A2 = B2 )
=> ( ( ord_less_eq @ A @ B2 @ C3 )
=> ( ord_less_eq @ A @ A2 @ C3 ) ) ) ) ).
% ord_eq_le_trans
thf(fact_141_order__class_Oorder_Oeq__iff,axiom,
! [A: $tType] :
( ( order @ A )
=> ( ( ^ [Y5: A,Z: A] : Y5 = Z )
= ( ^ [A7: A,B6: A] :
( ( ord_less_eq @ A @ A7 @ B6 )
& ( ord_less_eq @ A @ B6 @ A7 ) ) ) ) ) ).
% order_class.order.eq_iff
thf(fact_142_antisym__conv,axiom,
! [A: $tType] :
( ( order @ A )
=> ! [Y3: A,X4: A] :
( ( ord_less_eq @ A @ Y3 @ X4 )
=> ( ( ord_less_eq @ A @ X4 @ Y3 )
= ( X4 = Y3 ) ) ) ) ).
% antisym_conv
thf(fact_143_le__cases3,axiom,
! [A: $tType] :
( ( linorder @ A )
=> ! [X4: A,Y3: A,Z2: A] :
( ( ( ord_less_eq @ A @ X4 @ Y3 )
=> ~ ( ord_less_eq @ A @ Y3 @ Z2 ) )
=> ( ( ( ord_less_eq @ A @ Y3 @ X4 )
=> ~ ( ord_less_eq @ A @ X4 @ Z2 ) )
=> ( ( ( ord_less_eq @ A @ X4 @ Z2 )
=> ~ ( ord_less_eq @ A @ Z2 @ Y3 ) )
=> ( ( ( ord_less_eq @ A @ Z2 @ Y3 )
=> ~ ( ord_less_eq @ A @ Y3 @ X4 ) )
=> ( ( ( ord_less_eq @ A @ Y3 @ Z2 )
=> ~ ( ord_less_eq @ A @ Z2 @ X4 ) )
=> ~ ( ( ord_less_eq @ A @ Z2 @ X4 )
=> ~ ( ord_less_eq @ A @ X4 @ Y3 ) ) ) ) ) ) ) ) ).
% le_cases3
thf(fact_144_order_Otrans,axiom,
! [A: $tType] :
( ( order @ A )
=> ! [A2: A,B2: A,C3: A] :
( ( ord_less_eq @ A @ A2 @ B2 )
=> ( ( ord_less_eq @ A @ B2 @ C3 )
=> ( ord_less_eq @ A @ A2 @ C3 ) ) ) ) ).
% order.trans
thf(fact_145_le__cases,axiom,
! [A: $tType] :
( ( linorder @ A )
=> ! [X4: A,Y3: A] :
( ~ ( ord_less_eq @ A @ X4 @ Y3 )
=> ( ord_less_eq @ A @ Y3 @ X4 ) ) ) ).
% le_cases
thf(fact_146_eq__refl,axiom,
! [A: $tType] :
( ( preorder @ A )
=> ! [X4: A,Y3: A] :
( ( X4 = Y3 )
=> ( ord_less_eq @ A @ X4 @ Y3 ) ) ) ).
% eq_refl
thf(fact_147_linear,axiom,
! [A: $tType] :
( ( linorder @ A )
=> ! [X4: A,Y3: A] :
( ( ord_less_eq @ A @ X4 @ Y3 )
| ( ord_less_eq @ A @ Y3 @ X4 ) ) ) ).
% linear
thf(fact_148_antisym,axiom,
! [A: $tType] :
( ( order @ A )
=> ! [X4: A,Y3: A] :
( ( ord_less_eq @ A @ X4 @ Y3 )
=> ( ( ord_less_eq @ A @ Y3 @ X4 )
=> ( X4 = Y3 ) ) ) ) ).
% antisym
thf(fact_149_eq__iff,axiom,
! [A: $tType] :
( ( order @ A )
=> ( ( ^ [Y5: A,Z: A] : Y5 = Z )
= ( ^ [X6: A,Y6: A] :
( ( ord_less_eq @ A @ X6 @ Y6 )
& ( ord_less_eq @ A @ Y6 @ X6 ) ) ) ) ) ).
% eq_iff
thf(fact_150_ord__le__eq__subst,axiom,
! [A: $tType,B: $tType] :
( ( ( ord @ B )
& ( ord @ A ) )
=> ! [A2: A,B2: A,F4: A > B,C3: B] :
( ( ord_less_eq @ A @ A2 @ B2 )
=> ( ( ( F4 @ B2 )
= C3 )
=> ( ! [X5: A,Y4: A] :
( ( ord_less_eq @ A @ X5 @ Y4 )
=> ( ord_less_eq @ B @ ( F4 @ X5 ) @ ( F4 @ Y4 ) ) )
=> ( ord_less_eq @ B @ ( F4 @ A2 ) @ C3 ) ) ) ) ) ).
% ord_le_eq_subst
thf(fact_151_ord__eq__le__subst,axiom,
! [A: $tType,B: $tType] :
( ( ( ord @ B )
& ( ord @ A ) )
=> ! [A2: A,F4: B > A,B2: B,C3: B] :
( ( A2
= ( F4 @ B2 ) )
=> ( ( ord_less_eq @ B @ B2 @ C3 )
=> ( ! [X5: B,Y4: B] :
( ( ord_less_eq @ B @ X5 @ Y4 )
=> ( ord_less_eq @ A @ ( F4 @ X5 ) @ ( F4 @ Y4 ) ) )
=> ( ord_less_eq @ A @ A2 @ ( F4 @ C3 ) ) ) ) ) ) ).
% ord_eq_le_subst
thf(fact_152_order__subst2,axiom,
! [A: $tType,C: $tType] :
( ( ( order @ C )
& ( order @ A ) )
=> ! [A2: A,B2: A,F4: A > C,C3: C] :
( ( ord_less_eq @ A @ A2 @ B2 )
=> ( ( ord_less_eq @ C @ ( F4 @ B2 ) @ C3 )
=> ( ! [X5: A,Y4: A] :
( ( ord_less_eq @ A @ X5 @ Y4 )
=> ( ord_less_eq @ C @ ( F4 @ X5 ) @ ( F4 @ Y4 ) ) )
=> ( ord_less_eq @ C @ ( F4 @ A2 ) @ C3 ) ) ) ) ) ).
% order_subst2
thf(fact_153_order__subst1,axiom,
! [A: $tType,B: $tType] :
( ( ( order @ B )
& ( order @ A ) )
=> ! [A2: A,F4: B > A,B2: B,C3: B] :
( ( ord_less_eq @ A @ A2 @ ( F4 @ B2 ) )
=> ( ( ord_less_eq @ B @ B2 @ C3 )
=> ( ! [X5: B,Y4: B] :
( ( ord_less_eq @ B @ X5 @ Y4 )
=> ( ord_less_eq @ A @ ( F4 @ X5 ) @ ( F4 @ Y4 ) ) )
=> ( ord_less_eq @ A @ A2 @ ( F4 @ C3 ) ) ) ) ) ) ).
% order_subst1
thf(fact_154_le__fun__def,axiom,
! [B: $tType,A: $tType] :
( ( ord @ B )
=> ( ( ord_less_eq @ ( A > B ) )
= ( ^ [F6: A > B,G5: A > B] :
! [X6: A] : ( ord_less_eq @ B @ ( F6 @ X6 ) @ ( G5 @ X6 ) ) ) ) ) ).
% le_fun_def
thf(fact_155_le__funI,axiom,
! [B: $tType,A: $tType] :
( ( ord @ B )
=> ! [F4: A > B,G6: A > B] :
( ! [X5: A] : ( ord_less_eq @ B @ ( F4 @ X5 ) @ ( G6 @ X5 ) )
=> ( ord_less_eq @ ( A > B ) @ F4 @ G6 ) ) ) ).
% le_funI
thf(fact_156_le__funE,axiom,
! [B: $tType,A: $tType] :
( ( ord @ B )
=> ! [F4: A > B,G6: A > B,X4: A] :
( ( ord_less_eq @ ( A > B ) @ F4 @ G6 )
=> ( ord_less_eq @ B @ ( F4 @ X4 ) @ ( G6 @ X4 ) ) ) ) ).
% le_funE
thf(fact_157_le__funD,axiom,
! [B: $tType,A: $tType] :
( ( ord @ B )
=> ! [F4: A > B,G6: A > B,X4: A] :
( ( ord_less_eq @ ( A > B ) @ F4 @ G6 )
=> ( ord_less_eq @ B @ ( F4 @ X4 ) @ ( G6 @ X4 ) ) ) ) ).
% le_funD
thf(fact_158_Collect__mono__iff,axiom,
! [A: $tType,P: A > $o,Q2: A > $o] :
( ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q2 ) )
= ( ! [X6: A] :
( ( P @ X6 )
=> ( Q2 @ X6 ) ) ) ) ).
% Collect_mono_iff
thf(fact_159_set__eq__subset,axiom,
! [A: $tType] :
( ( ^ [Y5: set @ A,Z: set @ A] : Y5 = Z )
= ( ^ [A6: set @ A,B7: set @ A] :
( ( ord_less_eq @ ( set @ A ) @ A6 @ B7 )
& ( ord_less_eq @ ( set @ A ) @ B7 @ A6 ) ) ) ) ).
% set_eq_subset
thf(fact_160_subset__trans,axiom,
! [A: $tType,A5: set @ A,B5: set @ A,C6: set @ A] :
( ( ord_less_eq @ ( set @ A ) @ A5 @ B5 )
=> ( ( ord_less_eq @ ( set @ A ) @ B5 @ C6 )
=> ( ord_less_eq @ ( set @ A ) @ A5 @ C6 ) ) ) ).
% subset_trans
thf(fact_161_Collect__mono,axiom,
! [A: $tType,P: A > $o,Q2: A > $o] :
( ! [X5: A] :
( ( P @ X5 )
=> ( Q2 @ X5 ) )
=> ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q2 ) ) ) ).
% Collect_mono
thf(fact_162_subset__refl,axiom,
! [A: $tType,A5: set @ A] : ( ord_less_eq @ ( set @ A ) @ A5 @ A5 ) ).
% subset_refl
thf(fact_163_subset__iff,axiom,
! [A: $tType] :
( ( ord_less_eq @ ( set @ A ) )
= ( ^ [A6: set @ A,B7: set @ A] :
! [T3: A] :
( ( member @ A @ T3 @ A6 )
=> ( member @ A @ T3 @ B7 ) ) ) ) ).
% subset_iff
thf(fact_164_equalityD2,axiom,
! [A: $tType,A5: set @ A,B5: set @ A] :
( ( A5 = B5 )
=> ( ord_less_eq @ ( set @ A ) @ B5 @ A5 ) ) ).
% equalityD2
thf(fact_165_equalityD1,axiom,
! [A: $tType,A5: set @ A,B5: set @ A] :
( ( A5 = B5 )
=> ( ord_less_eq @ ( set @ A ) @ A5 @ B5 ) ) ).
% equalityD1
thf(fact_166_subset__eq,axiom,
! [A: $tType] :
( ( ord_less_eq @ ( set @ A ) )
= ( ^ [A6: set @ A,B7: set @ A] :
! [X6: A] :
( ( member @ A @ X6 @ A6 )
=> ( member @ A @ X6 @ B7 ) ) ) ) ).
% subset_eq
thf(fact_167_equalityE,axiom,
! [A: $tType,A5: set @ A,B5: set @ A] :
( ( A5 = B5 )
=> ~ ( ( ord_less_eq @ ( set @ A ) @ A5 @ B5 )
=> ~ ( ord_less_eq @ ( set @ A ) @ B5 @ A5 ) ) ) ).
% equalityE
thf(fact_168_subsetD,axiom,
! [A: $tType,A5: set @ A,B5: set @ A,C3: A] :
( ( ord_less_eq @ ( set @ A ) @ A5 @ B5 )
=> ( ( member @ A @ C3 @ A5 )
=> ( member @ A @ C3 @ B5 ) ) ) ).
% subsetD
thf(fact_169_in__mono,axiom,
! [A: $tType,A5: set @ A,B5: set @ A,X4: A] :
( ( ord_less_eq @ ( set @ A ) @ A5 @ B5 )
=> ( ( member @ A @ X4 @ A5 )
=> ( member @ A @ X4 @ B5 ) ) ) ).
% in_mono
thf(fact_170_labeled__graph_Ocase__eq__if,axiom,
! [A: $tType,V: $tType,L: $tType] :
( ( labele1974067554_graph @ L @ V @ A )
= ( ^ [F6: ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A,Labeled_graph3: labeled_graph @ L @ V] : ( F6 @ ( labeled_edges @ L @ V @ Labeled_graph3 ) @ ( labeled_vertices @ L @ V @ Labeled_graph3 ) ) ) ) ).
% labeled_graph.case_eq_if
thf(fact_171_chain,axiom,
! [A: $tType,B: $tType,S2: nat > ( labeled_graph @ A @ B ),I: nat,J4: nat] :
( ( chain @ A @ B @ S2 )
=> ( ( ord_less_eq @ nat @ I @ J4 )
=> ( graph_homomorphism @ A @ B @ B @ ( S2 @ I ) @ ( S2 @ J4 ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ ( S2 @ I ) ) ) ) ) ) ).
% chain
thf(fact_172_chain__def2,axiom,
! [B: $tType,A: $tType] :
( ( chain @ A @ B )
= ( ^ [S3: nat > ( labeled_graph @ A @ B )] :
! [I3: nat,J3: nat] :
( ( ord_less_eq @ nat @ I3 @ J3 )
=> ( graph_homomorphism @ A @ B @ B @ ( S3 @ I3 ) @ ( S3 @ J3 ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ ( S3 @ I3 ) ) ) ) ) ) ) ).
% chain_def2
thf(fact_173_labeled__graph_Osplit__sel,axiom,
! [A: $tType,V: $tType,L: $tType,P: A > $o,F4: ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A,Labeled_graph: labeled_graph @ L @ V] :
( ( P @ ( labele1974067554_graph @ L @ V @ A @ F4 @ Labeled_graph ) )
= ( ( Labeled_graph
= ( labeled_LG @ L @ V @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) )
=> ( P @ ( F4 @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) ) ) ) ).
% labeled_graph.split_sel
thf(fact_174_graph__unionI,axiom,
! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G_1 ) @ ( labeled_edges @ A @ B @ G_2 ) )
=> ( ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_1 ) @ ( labeled_vertices @ A @ B @ G_2 ) )
=> ( ( graph_union @ A @ B @ G_1 @ G_2 )
= G_2 ) ) ) ).
% graph_unionI
thf(fact_175_extensibleD,axiom,
! [A: $tType,C: $tType,B: $tType,R: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ),G: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C )] :
( ( extensible @ A @ B @ C @ R @ G @ F4 )
=> ~ ! [G3: set @ ( product_prod @ B @ C )] :
( ( graph_homomorphism @ A @ B @ C @ ( product_snd @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) @ G @ G3 )
=> ~ ( agree_on @ A @ B @ C @ ( product_fst @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R ) @ F4 @ G3 ) ) ) ).
% extensibleD
thf(fact_176_extensible__def,axiom,
! [V: $tType,X: $tType,L: $tType] :
( ( extensible @ L @ X @ V )
= ( ^ [R2: product_prod @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ),G4: labeled_graph @ L @ V,F6: set @ ( product_prod @ X @ V )] :
? [G5: set @ ( product_prod @ X @ V )] :
( ( graph_homomorphism @ L @ X @ V @ ( product_snd @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) @ R2 ) @ G4 @ G5 )
& ( agree_on @ L @ X @ V @ ( product_fst @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) @ R2 ) @ F6 @ G5 ) ) ) ) ).
% extensible_def
thf(fact_177_extensibleI,axiom,
! [A: $tType,C: $tType,B: $tType,R22: labeled_graph @ A @ B,G: labeled_graph @ A @ C,G6: set @ ( product_prod @ B @ C ),R1: labeled_graph @ A @ B,F4: set @ ( product_prod @ B @ C )] :
( ( graph_homomorphism @ A @ B @ C @ R22 @ G @ G6 )
=> ( ( agree_on @ A @ B @ C @ R1 @ F4 @ G6 )
=> ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R1 @ R22 ) @ G @ F4 ) ) ) ).
% extensibleI
thf(fact_178_graph__union__idemp_I1_J,axiom,
! [B: $tType,A: $tType,A5: labeled_graph @ A @ B] :
( ( graph_union @ A @ B @ A5 @ A5 )
= A5 ) ).
% graph_union_idemp(1)
thf(fact_179_graph__union__idemp_I2_J,axiom,
! [B: $tType,A: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ B] :
( ( graph_union @ A @ B @ A5 @ ( graph_union @ A @ B @ A5 @ B5 ) )
= ( graph_union @ A @ B @ A5 @ B5 ) ) ).
% graph_union_idemp(2)
thf(fact_180_graph__union__idemp_I3_J,axiom,
! [B: $tType,A: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ B] :
( ( graph_union @ A @ B @ A5 @ ( graph_union @ A @ B @ B5 @ A5 ) )
= ( graph_union @ A @ B @ B5 @ A5 ) ) ).
% graph_union_idemp(3)
thf(fact_181_agree__on__refl,axiom,
! [A: $tType,C: $tType,B: $tType,R: labeled_graph @ A @ B,F4: set @ ( product_prod @ B @ C )] : ( agree_on @ A @ B @ C @ R @ F4 @ F4 ) ).
% agree_on_refl
thf(fact_182_agree__on__comm,axiom,
! [C: $tType,B: $tType,A: $tType] :
( ( agree_on @ A @ B @ C )
= ( ^ [X3: labeled_graph @ A @ B,F6: set @ ( product_prod @ B @ C ),G5: set @ ( product_prod @ B @ C )] : ( agree_on @ A @ B @ C @ X3 @ G5 @ F6 ) ) ) ).
% agree_on_comm
thf(fact_183_graph__union__preserves__restrict,axiom,
! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
( ( G_1
= ( restrict @ A @ B @ G_1 ) )
=> ( ( G_2
= ( restrict @ A @ B @ G_2 ) )
=> ( ( graph_union @ A @ B @ G_1 @ G_2 )
= ( restrict @ A @ B @ ( graph_union @ A @ B @ G_1 @ G_2 ) ) ) ) ) ).
% graph_union_preserves_restrict
thf(fact_184_graph__union__chain__sup,axiom,
! [B: $tType,A: $tType,S2: nat > ( labeled_graph @ A @ B ),C6: labeled_graph @ A @ B] :
( ! [I2: nat] :
( ( graph_union @ A @ B @ ( S2 @ I2 ) @ C6 )
= C6 )
=> ( ( graph_union @ A @ B @ ( chain_sup @ A @ B @ S2 ) @ C6 )
= C6 ) ) ).
% graph_union_chain_sup
thf(fact_185_agree__on__trans,axiom,
! [A: $tType,C: $tType,B: $tType,X2: labeled_graph @ A @ B,F4: set @ ( product_prod @ B @ C ),G6: set @ ( product_prod @ B @ C ),H: set @ ( product_prod @ B @ C )] :
( ( agree_on @ A @ B @ C @ X2 @ F4 @ G6 )
=> ( ( agree_on @ A @ B @ C @ X2 @ G6 @ H )
=> ( agree_on @ A @ B @ C @ X2 @ F4 @ H ) ) ) ).
% agree_on_trans
thf(fact_186_agree__on__subg__compose,axiom,
! [A: $tType,C: $tType,B: $tType,R: labeled_graph @ A @ B,G6: set @ ( product_prod @ B @ C ),H: set @ ( product_prod @ B @ C ),F7: labeled_graph @ A @ B,F4: set @ ( product_prod @ B @ C )] :
( ( agree_on @ A @ B @ C @ R @ G6 @ H )
=> ( ( agree_on @ A @ B @ C @ F7 @ F4 @ G6 )
=> ( ( graph_homomorphism @ A @ B @ B @ F7 @ R @ ( id_on @ B @ ( labeled_vertices @ A @ B @ F7 ) ) )
=> ( agree_on @ A @ B @ C @ F7 @ F4 @ H ) ) ) ) ).
% agree_on_subg_compose
thf(fact_187_subgraph__def,axiom,
! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
= ( ( G_1
= ( restrict @ A @ B @ G_1 ) )
& ( G_2
= ( restrict @ A @ B @ G_2 ) )
& ( ( graph_union @ A @ B @ G_1 @ G_2 )
= G_2 ) ) ) ).
% subgraph_def
thf(fact_188_graph__union__iff,axiom,
! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
( ( ( graph_union @ A @ B @ G_1 @ G_2 )
= G_2 )
= ( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G_1 ) @ ( labeled_edges @ A @ B @ G_2 ) )
& ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_1 ) @ ( labeled_vertices @ A @ B @ G_2 ) ) ) ) ).
% graph_union_iff
thf(fact_189_finite__nat__set__iff__bounded__le,axiom,
( ( finite_finite2 @ nat )
= ( ^ [N: set @ nat] :
? [M: nat] :
! [X6: nat] :
( ( member @ nat @ X6 @ N )
=> ( ord_less_eq @ nat @ X6 @ M ) ) ) ) ).
% finite_nat_set_iff_bounded_le
thf(fact_190_nonempty__rule,axiom,
! [A: $tType,B: $tType,G: labeled_graph @ A @ B] :
( ( G
= ( restrict @ A @ B @ G ) )
=> ( ( maintained @ A @ nat @ B @ ( standa244753842y_rule @ A ) @ G )
= ( ( labeled_vertices @ A @ B @ G )
!= ( bot_bot @ ( set @ B ) ) ) ) ) ).
% nonempty_rule
thf(fact_191_weak__universalI,axiom,
! [X: $tType,A: $tType,B: $tType,C: $tType,R: product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ),G_1: labeled_graph @ A @ B,F_12: set @ ( product_prod @ C @ B ),G_2: labeled_graph @ A @ B,T2: itself @ X,F_22: set @ ( product_prod @ C @ B )] :
( ! [H_1: set @ ( product_prod @ C @ X ),H_2: set @ ( product_prod @ B @ X ),G7: labeled_graph @ A @ X] :
( ( graph_homomorphism @ A @ C @ X @ ( product_snd @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) @ R ) @ G7 @ H_1 )
=> ( ( graph_homomorphism @ A @ B @ X @ G_1 @ G7 @ H_2 )
=> ( ( ord_less_eq @ ( set @ ( product_prod @ C @ X ) ) @ ( relcomp @ C @ B @ X @ F_12 @ H_2 ) @ H_1 )
=> ? [H2: set @ ( product_prod @ B @ X )] :
( ( graph_homomorphism @ A @ B @ X @ G_2 @ G7 @ H2 )
& ( ord_less_eq @ ( set @ ( product_prod @ B @ X ) ) @ H_2 @ H2 ) ) ) ) )
=> ( weak_universal @ X @ A @ C @ B @ T2 @ R @ G_1 @ G_2 @ F_12 @ F_22 ) ) ).
% weak_universalI
thf(fact_192_relcomp__empty1,axiom,
! [C: $tType,B: $tType,A: $tType,R: set @ ( product_prod @ C @ B )] :
( ( relcomp @ A @ C @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ C ) ) ) @ R )
= ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ).
% relcomp_empty1
thf(fact_193_relcomp__empty2,axiom,
! [C: $tType,B: $tType,A: $tType,R: set @ ( product_prod @ A @ C )] :
( ( relcomp @ A @ C @ B @ R @ ( bot_bot @ ( set @ ( product_prod @ C @ B ) ) ) )
= ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ).
% relcomp_empty2
thf(fact_194_empty__subsetI,axiom,
! [A: $tType,A5: set @ A] : ( ord_less_eq @ ( set @ A ) @ ( bot_bot @ ( set @ A ) ) @ A5 ) ).
% empty_subsetI
thf(fact_195_subset__empty,axiom,
! [A: $tType,A5: set @ A] :
( ( ord_less_eq @ ( set @ A ) @ A5 @ ( bot_bot @ ( set @ A ) ) )
= ( A5
= ( bot_bot @ ( set @ A ) ) ) ) ).
% subset_empty
thf(fact_196_Id__on__empty,axiom,
! [A: $tType] :
( ( id_on @ A @ ( bot_bot @ ( set @ A ) ) )
= ( bot_bot @ ( set @ ( product_prod @ A @ A ) ) ) ) ).
% Id_on_empty
thf(fact_197_graph__homomorphism__composes,axiom,
! [A: $tType,B: $tType,D: $tType,C: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ C,X4: set @ ( product_prod @ B @ C ),C3: labeled_graph @ A @ D,Y3: set @ ( product_prod @ C @ D )] :
( ( graph_homomorphism @ A @ B @ C @ A2 @ B2 @ X4 )
=> ( ( graph_homomorphism @ A @ C @ D @ B2 @ C3 @ Y3 )
=> ( graph_homomorphism @ A @ B @ D @ A2 @ C3 @ ( relcomp @ B @ C @ D @ X4 @ Y3 ) ) ) ) ).
% graph_homomorphism_composes
thf(fact_198_graph__empty__e,axiom,
! [A: $tType,B: $tType,V3: set @ B] :
( ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ V3 )
= ( restrict @ A @ B @ ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ V3 ) ) ) ).
% graph_empty_e
thf(fact_199_agree__on__empty,axiom,
! [A: $tType,C: $tType,B: $tType,F4: set @ ( product_prod @ B @ C ),G6: set @ ( product_prod @ B @ C )] : ( agree_on @ A @ B @ C @ ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ ( bot_bot @ ( set @ B ) ) ) @ F4 @ G6 ) ).
% agree_on_empty
thf(fact_200_graph__homomorphism__empty,axiom,
! [B: $tType,C: $tType,A: $tType,G: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C )] :
( ( graph_homomorphism @ A @ B @ C @ ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ ( bot_bot @ ( set @ B ) ) ) @ G @ F4 )
= ( ( F4
= ( bot_bot @ ( set @ ( product_prod @ B @ C ) ) ) )
& ( G
= ( restrict @ A @ C @ G ) ) ) ) ).
% graph_homomorphism_empty
thf(fact_201_relcomp__mono,axiom,
! [A: $tType,C: $tType,B: $tType,R5: set @ ( product_prod @ A @ B ),R4: set @ ( product_prod @ A @ B ),S5: set @ ( product_prod @ B @ C ),S4: set @ ( product_prod @ B @ C )] :
( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R5 @ R4 )
=> ( ( ord_less_eq @ ( set @ ( product_prod @ B @ C ) ) @ S5 @ S4 )
=> ( ord_less_eq @ ( set @ ( product_prod @ A @ C ) ) @ ( relcomp @ A @ B @ C @ R5 @ S5 ) @ ( relcomp @ A @ B @ C @ R4 @ S4 ) ) ) ) ).
% relcomp_mono
thf(fact_202_bot_Oextremum,axiom,
! [A: $tType] :
( ( order_bot @ A )
=> ! [A2: A] : ( ord_less_eq @ A @ ( bot_bot @ A ) @ A2 ) ) ).
% bot.extremum
thf(fact_203_bot_Oextremum__unique,axiom,
! [A: $tType] :
( ( order_bot @ A )
=> ! [A2: A] :
( ( ord_less_eq @ A @ A2 @ ( bot_bot @ A ) )
= ( A2
= ( bot_bot @ A ) ) ) ) ).
% bot.extremum_unique
thf(fact_204_bot_Oextremum__uniqueI,axiom,
! [A: $tType] :
( ( order_bot @ A )
=> ! [A2: A] :
( ( ord_less_eq @ A @ A2 @ ( bot_bot @ A ) )
=> ( A2
= ( bot_bot @ A ) ) ) ) ).
% bot.extremum_uniqueI
thf(fact_205_agree__on__ext,axiom,
! [A: $tType,B: $tType,D: $tType,C: $tType,G: labeled_graph @ A @ B,F_12: set @ ( product_prod @ B @ C ),F_22: set @ ( product_prod @ B @ C ),G6: set @ ( product_prod @ C @ D )] :
( ( agree_on @ A @ B @ C @ G @ F_12 @ F_22 )
=> ( agree_on @ A @ B @ D @ G @ ( relcomp @ B @ C @ D @ F_12 @ G6 ) @ ( relcomp @ B @ C @ D @ F_22 @ G6 ) ) ) ).
% agree_on_ext
thf(fact_206_O__assoc,axiom,
! [A: $tType,D: $tType,B: $tType,C: $tType,R: set @ ( product_prod @ A @ D ),S2: set @ ( product_prod @ D @ C ),T4: set @ ( product_prod @ C @ B )] :
( ( relcomp @ A @ C @ B @ ( relcomp @ A @ D @ C @ R @ S2 ) @ T4 )
= ( relcomp @ A @ D @ B @ R @ ( relcomp @ D @ C @ B @ S2 @ T4 ) ) ) ).
% O_assoc
thf(fact_207_relcomp_OrelcompI,axiom,
! [A: $tType,C: $tType,B: $tType,A2: A,B2: B,R4: set @ ( product_prod @ A @ B ),C3: C,S4: set @ ( product_prod @ B @ C )] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ R4 )
=> ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B2 @ C3 ) @ S4 )
=> ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ A2 @ C3 ) @ ( relcomp @ A @ B @ C @ R4 @ S4 ) ) ) ) ).
% relcomp.relcompI
thf(fact_208_relcomp_Oinducts,axiom,
! [B: $tType,A: $tType,C: $tType,X1: A,X22: C,R4: set @ ( product_prod @ A @ B ),S4: set @ ( product_prod @ B @ C ),P: A > C > $o] :
( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ X1 @ X22 ) @ ( relcomp @ A @ B @ C @ R4 @ S4 ) )
=> ( ! [A4: A,B4: B,C2: C] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A4 @ B4 ) @ R4 )
=> ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B4 @ C2 ) @ S4 )
=> ( P @ A4 @ C2 ) ) )
=> ( P @ X1 @ X22 ) ) ) ).
% relcomp.inducts
thf(fact_209_relcomp_Osimps,axiom,
! [B: $tType,C: $tType,A: $tType,A1: A,A22: C,R4: set @ ( product_prod @ A @ B ),S4: set @ ( product_prod @ B @ C )] :
( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ A1 @ A22 ) @ ( relcomp @ A @ B @ C @ R4 @ S4 ) )
= ( ? [A7: A,B6: B,C7: C] :
( ( A1 = A7 )
& ( A22 = C7 )
& ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A7 @ B6 ) @ R4 )
& ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B6 @ C7 ) @ S4 ) ) ) ) ).
% relcomp.simps
thf(fact_210_relcomp_Ocases,axiom,
! [A: $tType,C: $tType,B: $tType,A1: A,A22: C,R4: set @ ( product_prod @ A @ B ),S4: set @ ( product_prod @ B @ C )] :
( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ A1 @ A22 ) @ ( relcomp @ A @ B @ C @ R4 @ S4 ) )
=> ~ ! [B4: B] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A1 @ B4 ) @ R4 )
=> ~ ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B4 @ A22 ) @ S4 ) ) ) ).
% relcomp.cases
thf(fact_211_relcompEpair,axiom,
! [A: $tType,B: $tType,C: $tType,A2: A,C3: B,R4: set @ ( product_prod @ A @ C ),S4: set @ ( product_prod @ C @ B )] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ C3 ) @ ( relcomp @ A @ C @ B @ R4 @ S4 ) )
=> ~ ! [B4: C] :
( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ A2 @ B4 ) @ R4 )
=> ~ ( member @ ( product_prod @ C @ B ) @ ( product_Pair @ C @ B @ B4 @ C3 ) @ S4 ) ) ) ).
% relcompEpair
thf(fact_212_relcompE,axiom,
! [A: $tType,B: $tType,C: $tType,Xz: product_prod @ A @ B,R4: set @ ( product_prod @ A @ C ),S4: set @ ( product_prod @ C @ B )] :
( ( member @ ( product_prod @ A @ B ) @ Xz @ ( relcomp @ A @ C @ B @ R4 @ S4 ) )
=> ~ ! [X5: A,Y4: C,Z3: B] :
( ( Xz
= ( product_Pair @ A @ B @ X5 @ Z3 ) )
=> ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ X5 @ Y4 ) @ R4 )
=> ~ ( member @ ( product_prod @ C @ B ) @ ( product_Pair @ C @ B @ Y4 @ Z3 ) @ S4 ) ) ) ) ).
% relcompE
thf(fact_213_finite_OemptyI,axiom,
! [A: $tType] : ( finite_finite2 @ A @ ( bot_bot @ ( set @ A ) ) ) ).
% finite.emptyI
thf(fact_214_infinite__imp__nonempty,axiom,
! [A: $tType,S2: set @ A] :
( ~ ( finite_finite2 @ A @ S2 )
=> ( S2
!= ( bot_bot @ ( set @ A ) ) ) ) ).
% infinite_imp_nonempty
thf(fact_215_finite__has__minimal,axiom,
! [A: $tType] :
( ( order @ A )
=> ! [A5: set @ A] :
( ( finite_finite2 @ A @ A5 )
=> ( ( A5
!= ( bot_bot @ ( set @ A ) ) )
=> ? [X5: A] :
( ( member @ A @ X5 @ A5 )
& ! [Xa: A] :
( ( member @ A @ Xa @ A5 )
=> ( ( ord_less_eq @ A @ Xa @ X5 )
=> ( X5 = Xa ) ) ) ) ) ) ) ).
% finite_has_minimal
thf(fact_216_finite__has__maximal,axiom,
! [A: $tType] :
( ( order @ A )
=> ! [A5: set @ A] :
( ( finite_finite2 @ A @ A5 )
=> ( ( A5
!= ( bot_bot @ ( set @ A ) ) )
=> ? [X5: A] :
( ( member @ A @ X5 @ A5 )
& ! [Xa: A] :
( ( member @ A @ Xa @ A5 )
=> ( ( ord_less_eq @ A @ X5 @ Xa )
=> ( X5 = Xa ) ) ) ) ) ) ) ).
% finite_has_maximal
thf(fact_217_graph__homomorphism__nonempty,axiom,
! [B: $tType,A: $tType,C: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C ),E3: allegorical_term @ A] :
( ( graph_homomorphism @ A @ B @ C @ A5 @ B5 @ F4 )
=> ( ( ( semantics @ A @ B @ A5 @ E3 )
!= ( bot_bot @ ( set @ ( product_prod @ B @ B ) ) ) )
=> ( ( semantics @ A @ C @ B5 @ E3 )
!= ( bot_bot @ ( set @ ( product_prod @ C @ C ) ) ) ) ) ) ).
% graph_homomorphism_nonempty
thf(fact_218_bounded__Max__nat,axiom,
! [P: nat > $o,X4: nat,M2: nat] :
( ( P @ X4 )
=> ( ! [X5: nat] :
( ( P @ X5 )
=> ( ord_less_eq @ nat @ X5 @ M2 ) )
=> ~ ! [M3: nat] :
( ( P @ M3 )
=> ~ ! [X7: nat] :
( ( P @ X7 )
=> ( ord_less_eq @ nat @ X7 @ M3 ) ) ) ) ) ).
% bounded_Max_nat
thf(fact_219_Id__on__vertices__identity_I2_J,axiom,
! [B: $tType,C: $tType,A: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C ),Aa2: B,Ba: C] :
( ( graph_homomorphism @ A @ B @ C @ A2 @ B2 @ F4 )
=> ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ Aa2 @ Ba ) @ F4 )
=> ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ Aa2 @ Ba ) @ ( relcomp @ B @ C @ C @ F4 @ ( id_on @ C @ ( labeled_vertices @ A @ C @ B2 ) ) ) ) ) ) ).
% Id_on_vertices_identity(2)
thf(fact_220_Id__on__vertices__identity_I1_J,axiom,
! [A: $tType,C: $tType,B: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C ),Aa2: B,Ba: C] :
( ( graph_homomorphism @ A @ B @ C @ A2 @ B2 @ F4 )
=> ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ Aa2 @ Ba ) @ F4 )
=> ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ Aa2 @ Ba ) @ ( relcomp @ B @ B @ C @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A2 ) ) @ F4 ) ) ) ) ).
% Id_on_vertices_identity(1)
thf(fact_221_translation__homomorphism_I2_J,axiom,
! [A: $tType,B: $tType,E3: allegorical_term @ A,G: labeled_graph @ A @ B,F4: set @ ( product_prod @ nat @ B )] :
( ( graph_homomorphism @ A @ nat @ B @ ( translation @ A @ E3 ) @ G @ F4 )
=> ( ( semantics @ A @ B @ G @ E3 )
!= ( bot_bot @ ( set @ ( product_prod @ B @ B ) ) ) ) ) ).
% translation_homomorphism(2)
thf(fact_222_weak__universalD,axiom,
! [A: $tType,C: $tType,X: $tType,B: $tType,T2: itself @ X,R: product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ),G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B,F_12: set @ ( product_prod @ C @ B ),F_22: set @ ( product_prod @ C @ B ),G: labeled_graph @ A @ X,H_12: set @ ( product_prod @ C @ X ),H_22: set @ ( product_prod @ B @ X )] :
( ( weak_universal @ X @ A @ C @ B @ T2 @ R @ G_1 @ G_2 @ F_12 @ F_22 )
=> ( ( graph_homomorphism @ A @ C @ X @ ( product_snd @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) @ R ) @ G @ H_12 )
=> ( ( graph_homomorphism @ A @ B @ X @ G_1 @ G @ H_22 )
=> ( ( ord_less_eq @ ( set @ ( product_prod @ C @ X ) ) @ ( relcomp @ C @ B @ X @ F_12 @ H_22 ) @ H_12 )
=> ? [H3: set @ ( product_prod @ B @ X )] :
( ( graph_homomorphism @ A @ B @ X @ G_2 @ G @ H3 )
& ( ord_less_eq @ ( set @ ( product_prod @ B @ X ) ) @ H_22 @ H3 ) ) ) ) ) ) ).
% weak_universalD
thf(fact_223_weak__universal__def,axiom,
! [A: $tType,C: $tType,B: $tType,X: $tType] :
( ( weak_universal @ X @ A @ C @ B )
= ( ^ [Uu: itself @ X,R2: product_prod @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ),G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B,F_1: set @ ( product_prod @ C @ B ),F_2: set @ ( product_prod @ C @ B )] :
! [H_13: set @ ( product_prod @ C @ X ),H_23: set @ ( product_prod @ B @ X ),G4: labeled_graph @ A @ X] :
( ( ( graph_homomorphism @ A @ C @ X @ ( product_snd @ ( labeled_graph @ A @ C ) @ ( labeled_graph @ A @ C ) @ R2 ) @ G4 @ H_13 )
& ( graph_homomorphism @ A @ B @ X @ G_12 @ G4 @ H_23 )
& ( ord_less_eq @ ( set @ ( product_prod @ C @ X ) ) @ ( relcomp @ C @ B @ X @ F_1 @ H_23 ) @ H_13 ) )
=> ? [H4: set @ ( product_prod @ B @ X )] :
( ( graph_homomorphism @ A @ B @ X @ G_22 @ G4 @ H4 )
& ( ord_less_eq @ ( set @ ( product_prod @ B @ X ) ) @ H_23 @ H4 ) ) ) ) ) ).
% weak_universal_def
thf(fact_224_graph__homo__union__id_I2_J,axiom,
! [A: $tType,C: $tType,B: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C )] :
( ( graph_homomorphism @ A @ B @ C @ ( graph_union @ A @ B @ A5 @ B5 ) @ G @ F4 )
=> ( ( B5
= ( restrict @ A @ B @ B5 ) )
=> ( graph_homomorphism @ A @ B @ C @ B5 @ G @ ( relcomp @ B @ B @ C @ ( id_on @ B @ ( labeled_vertices @ A @ B @ B5 ) ) @ F4 ) ) ) ) ).
% graph_homo_union_id(2)
thf(fact_225_graph__homo__union__id_I1_J,axiom,
! [A: $tType,C: $tType,B: $tType,A5: labeled_graph @ A @ B,B5: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C )] :
( ( graph_homomorphism @ A @ B @ C @ ( graph_union @ A @ B @ A5 @ B5 ) @ G @ F4 )
=> ( ( A5
= ( restrict @ A @ B @ A5 ) )
=> ( graph_homomorphism @ A @ B @ C @ A5 @ G @ ( relcomp @ B @ B @ C @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A5 ) ) @ F4 ) ) ) ) ).
% graph_homo_union_id(1)
thf(fact_226_finite__relcomp,axiom,
! [A: $tType,C: $tType,B: $tType,R: set @ ( product_prod @ A @ B ),S2: set @ ( product_prod @ B @ C )] :
( ( finite_finite2 @ ( product_prod @ A @ B ) @ R )
=> ( ( finite_finite2 @ ( product_prod @ B @ C ) @ S2 )
=> ( finite_finite2 @ ( product_prod @ A @ C ) @ ( relcomp @ A @ B @ C @ R @ S2 ) ) ) ) ).
% finite_relcomp
thf(fact_227_subset__emptyI,axiom,
! [A: $tType,A5: set @ A] :
( ! [X5: A] :
~ ( member @ A @ X5 @ A5 )
=> ( ord_less_eq @ ( set @ A ) @ A5 @ ( bot_bot @ ( set @ A ) ) ) ) ).
% subset_emptyI
thf(fact_228_bot__empty__eq,axiom,
! [A: $tType] :
( ( bot_bot @ ( A > $o ) )
= ( ^ [X6: A] : ( member @ A @ X6 @ ( bot_bot @ ( set @ A ) ) ) ) ) ).
% bot_empty_eq
thf(fact_229_ssubst__Pair__rhs,axiom,
! [B: $tType,A: $tType,R4: A,S4: B,R: set @ ( product_prod @ A @ B ),S5: B] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R4 @ S4 ) @ R )
=> ( ( S5 = S4 )
=> ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R4 @ S5 ) @ R ) ) ) ).
% ssubst_Pair_rhs
thf(fact_230_less__by__empty,axiom,
! [A: $tType,A5: set @ ( product_prod @ A @ A ),B5: set @ ( product_prod @ A @ A )] :
( ( A5
= ( bot_bot @ ( set @ ( product_prod @ A @ A ) ) ) )
=> ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ A5 @ B5 ) ) ).
% less_by_empty
thf(fact_231_agree__iff__subset,axiom,
! [A: $tType,C: $tType,B: $tType,G: labeled_graph @ A @ B,X2: labeled_graph @ A @ C,F4: set @ ( product_prod @ B @ C ),G6: set @ ( product_prod @ B @ C )] :
( ( graph_homomorphism @ A @ B @ C @ G @ X2 @ F4 )
=> ( ( univalent @ B @ C @ G6 )
=> ( ( agree_on @ A @ B @ C @ G @ F4 @ G6 )
= ( ord_less_eq @ ( set @ ( product_prod @ B @ C ) ) @ F4 @ G6 ) ) ) ) ).
% agree_iff_subset
thf(fact_232_id__univalent,axiom,
! [A: $tType,X4: set @ A] : ( univalent @ A @ A @ ( id_on @ A @ X4 ) ) ).
% id_univalent
thf(fact_233_univalentD,axiom,
! [A: $tType,B: $tType,R: set @ ( product_prod @ A @ B ),X4: A,Y3: B,Z2: B] :
( ( univalent @ A @ B @ R )
=> ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y3 ) @ R )
=> ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Z2 ) @ R )
=> ( Z2 = Y3 ) ) ) ) ).
% univalentD
thf(fact_234_univalent__def,axiom,
! [B: $tType,A: $tType] :
( ( univalent @ A @ B )
= ( ^ [R2: set @ ( product_prod @ A @ B )] :
! [X6: A,Y6: B,Z4: B] :
( ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X6 @ Y6 ) @ R2 )
& ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X6 @ Z4 ) @ R2 ) )
=> ( Z4 = Y6 ) ) ) ) ).
% univalent_def
thf(fact_235_find__graph__occurence__vertices,axiom,
! [C: $tType,A: $tType,B: $tType,S2: nat > ( labeled_graph @ A @ B ),V2: set @ C,F4: set @ ( product_prod @ C @ B )] :
( ( chain @ A @ B @ S2 )
=> ( ( finite_finite2 @ C @ V2 )
=> ( ( univalent @ C @ B @ F4 )
=> ( ( ord_less_eq @ ( set @ B ) @ ( image @ C @ B @ F4 @ V2 ) @ ( labeled_vertices @ A @ B @ ( chain_sup @ A @ B @ S2 ) ) )
=> ? [I2: nat] : ( ord_less_eq @ ( set @ B ) @ ( image @ C @ B @ F4 @ V2 ) @ ( labeled_vertices @ A @ B @ ( S2 @ I2 ) ) ) ) ) ) ) ).
% find_graph_occurence_vertices
thf(fact_236_agree__on__subset,axiom,
! [C: $tType,B: $tType,A: $tType,F4: set @ ( product_prod @ A @ B ),G6: set @ ( product_prod @ A @ B ),G: labeled_graph @ C @ A] :
( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ F4 @ G6 )
=> ( ( ord_less_eq @ ( set @ A ) @ ( labeled_vertices @ C @ A @ G ) @ ( domain @ A @ B @ F4 ) )
=> ( ( univalent @ A @ B @ G6 )
=> ( agree_on @ C @ A @ B @ G @ F4 @ G6 ) ) ) ) ).
% agree_on_subset
thf(fact_237_ImageI,axiom,
! [B: $tType,A: $tType,A2: A,B2: B,R4: set @ ( product_prod @ A @ B ),A5: set @ A] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ R4 )
=> ( ( member @ A @ A2 @ A5 )
=> ( member @ B @ B2 @ ( image @ A @ B @ R4 @ A5 ) ) ) ) ).
% ImageI
thf(fact_238_Image__empty2,axiom,
! [B: $tType,A: $tType,R: set @ ( product_prod @ B @ A )] :
( ( image @ B @ A @ R @ ( bot_bot @ ( set @ B ) ) )
= ( bot_bot @ ( set @ A ) ) ) ).
% Image_empty2
thf(fact_239_Domain__Id__on,axiom,
! [A: $tType,A5: set @ A] :
( ( domain @ A @ A @ ( id_on @ A @ A5 ) )
= A5 ) ).
% Domain_Id_on
thf(fact_240_Image__empty1,axiom,
! [B: $tType,A: $tType,X2: set @ B] :
( ( image @ B @ A @ ( bot_bot @ ( set @ ( product_prod @ B @ A ) ) ) @ X2 )
= ( bot_bot @ ( set @ A ) ) ) ).
% Image_empty1
thf(fact_241_Domain__empty,axiom,
! [B: $tType,A: $tType] :
( ( domain @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) )
= ( bot_bot @ ( set @ A ) ) ) ).
% Domain_empty
thf(fact_242_univalent__finite_I2_J,axiom,
! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B )] :
( ( univalent @ A @ B @ R )
=> ( ( finite_finite2 @ A @ ( domain @ A @ B @ R ) )
= ( finite_finite2 @ ( product_prod @ A @ B ) @ R ) ) ) ).
% univalent_finite(2)
thf(fact_243_Domain__O,axiom,
! [A: $tType,C: $tType,B: $tType,A2: set @ A,X4: set @ ( product_prod @ A @ B ),Y3: set @ ( product_prod @ B @ C )] :
( ( ord_less_eq @ ( set @ A ) @ A2 @ ( domain @ A @ B @ X4 ) )
=> ( ( ord_less_eq @ ( set @ B ) @ ( image @ A @ B @ X4 @ A2 ) @ ( domain @ B @ C @ Y3 ) )
=> ( ord_less_eq @ ( set @ A ) @ A2 @ ( domain @ A @ C @ ( relcomp @ A @ B @ C @ X4 @ Y3 ) ) ) ) ) ).
% Domain_O
thf(fact_244_finite__Domain,axiom,
! [B: $tType,A: $tType,R4: set @ ( product_prod @ A @ B )] :
( ( finite_finite2 @ ( product_prod @ A @ B ) @ R4 )
=> ( finite_finite2 @ A @ ( domain @ A @ B @ R4 ) ) ) ).
% finite_Domain
thf(fact_245_finite__Image,axiom,
! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),A5: set @ A] :
( ( finite_finite2 @ ( product_prod @ A @ B ) @ R )
=> ( finite_finite2 @ B @ ( image @ A @ B @ R @ A5 ) ) ) ).
% finite_Image
thf(fact_246_Image__mono,axiom,
! [B: $tType,A: $tType,R5: set @ ( product_prod @ A @ B ),R4: set @ ( product_prod @ A @ B ),A8: set @ A,A5: set @ A] :
( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R5 @ R4 )
=> ( ( ord_less_eq @ ( set @ A ) @ A8 @ A5 )
=> ( ord_less_eq @ ( set @ B ) @ ( image @ A @ B @ R5 @ A8 ) @ ( image @ A @ B @ R4 @ A5 ) ) ) ) ).
% Image_mono
thf(fact_247_Domain__mono,axiom,
! [B: $tType,A: $tType,R4: set @ ( product_prod @ A @ B ),S4: set @ ( product_prod @ A @ B )] :
( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R4 @ S4 )
=> ( ord_less_eq @ ( set @ A ) @ ( domain @ A @ B @ R4 ) @ ( domain @ A @ B @ S4 ) ) ) ).
% Domain_mono
thf(fact_248_Domain_Oinducts,axiom,
! [B: $tType,A: $tType,X4: A,R4: set @ ( product_prod @ A @ B ),P: A > $o] :
( ( member @ A @ X4 @ ( domain @ A @ B @ R4 ) )
=> ( ! [A4: A,B4: B] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A4 @ B4 ) @ R4 )
=> ( P @ A4 ) )
=> ( P @ X4 ) ) ) ).
% Domain.inducts
thf(fact_249_Domain_ODomainI,axiom,
! [B: $tType,A: $tType,A2: A,B2: B,R4: set @ ( product_prod @ A @ B )] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ R4 )
=> ( member @ A @ A2 @ ( domain @ A @ B @ R4 ) ) ) ).
% Domain.DomainI
thf(fact_250_Domain_Osimps,axiom,
! [B: $tType,A: $tType,A2: A,R4: set @ ( product_prod @ A @ B )] :
( ( member @ A @ A2 @ ( domain @ A @ B @ R4 ) )
= ( ? [A7: A,B6: B] :
( ( A2 = A7 )
& ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A7 @ B6 ) @ R4 ) ) ) ) ).
% Domain.simps
thf(fact_251_Domain_Ocases,axiom,
! [B: $tType,A: $tType,A2: A,R4: set @ ( product_prod @ A @ B )] :
( ( member @ A @ A2 @ ( domain @ A @ B @ R4 ) )
=> ~ ! [B4: B] :
~ ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B4 ) @ R4 ) ) ).
% Domain.cases
thf(fact_252_Domain__iff,axiom,
! [A: $tType,B: $tType,A2: A,R4: set @ ( product_prod @ A @ B )] :
( ( member @ A @ A2 @ ( domain @ A @ B @ R4 ) )
= ( ? [Y6: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ Y6 ) @ R4 ) ) ) ).
% Domain_iff
thf(fact_253_DomainE,axiom,
! [B: $tType,A: $tType,A2: A,R4: set @ ( product_prod @ A @ B )] :
( ( member @ A @ A2 @ ( domain @ A @ B @ R4 ) )
=> ~ ! [B4: B] :
~ ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B4 ) @ R4 ) ) ).
% DomainE
thf(fact_254_rev__ImageI,axiom,
! [B: $tType,A: $tType,A2: A,A5: set @ A,B2: B,R4: set @ ( product_prod @ A @ B )] :
( ( member @ A @ A2 @ A5 )
=> ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ R4 )
=> ( member @ B @ B2 @ ( image @ A @ B @ R4 @ A5 ) ) ) ) ).
% rev_ImageI
thf(fact_255_Image__iff,axiom,
! [A: $tType,B: $tType,B2: A,R4: set @ ( product_prod @ B @ A ),A5: set @ B] :
( ( member @ A @ B2 @ ( image @ B @ A @ R4 @ A5 ) )
= ( ? [X6: B] :
( ( member @ B @ X6 @ A5 )
& ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ X6 @ B2 ) @ R4 ) ) ) ) ).
% Image_iff
% Type constructors (22)
thf(tcon_fun___Orderings_Oorder__bot,axiom,
! [A9: $tType,A10: $tType] :
( ( order_bot @ A10 )
=> ( order_bot @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Orderings_Opreorder,axiom,
! [A9: $tType,A10: $tType] :
( ( preorder @ A10 )
=> ( preorder @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Finite__Set_Ofinite,axiom,
! [A9: $tType,A10: $tType] :
( ( ( finite_finite @ A9 )
& ( finite_finite @ A10 ) )
=> ( finite_finite @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Orderings_Oorder,axiom,
! [A9: $tType,A10: $tType] :
( ( order @ A10 )
=> ( order @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Orderings_Oord,axiom,
! [A9: $tType,A10: $tType] :
( ( ord @ A10 )
=> ( ord @ ( A9 > A10 ) ) ) ).
thf(tcon_Nat_Onat___Orderings_Oorder__bot_1,axiom,
order_bot @ nat ).
thf(tcon_Nat_Onat___Orderings_Opreorder_2,axiom,
preorder @ nat ).
thf(tcon_Nat_Onat___Orderings_Olinorder,axiom,
linorder @ nat ).
thf(tcon_Nat_Onat___Orderings_Oorder_3,axiom,
order @ nat ).
thf(tcon_Nat_Onat___Orderings_Oord_4,axiom,
ord @ nat ).
thf(tcon_Set_Oset___Orderings_Oorder__bot_5,axiom,
! [A9: $tType] : ( order_bot @ ( set @ A9 ) ) ).
thf(tcon_Set_Oset___Orderings_Opreorder_6,axiom,
! [A9: $tType] : ( preorder @ ( set @ A9 ) ) ).
thf(tcon_Set_Oset___Finite__Set_Ofinite_7,axiom,
! [A9: $tType] :
( ( finite_finite @ A9 )
=> ( finite_finite @ ( set @ A9 ) ) ) ).
thf(tcon_Set_Oset___Orderings_Oorder_8,axiom,
! [A9: $tType] : ( order @ ( set @ A9 ) ) ).
thf(tcon_Set_Oset___Orderings_Oord_9,axiom,
! [A9: $tType] : ( ord @ ( set @ A9 ) ) ).
thf(tcon_HOL_Obool___Orderings_Oorder__bot_10,axiom,
order_bot @ $o ).
thf(tcon_HOL_Obool___Orderings_Opreorder_11,axiom,
preorder @ $o ).
thf(tcon_HOL_Obool___Orderings_Olinorder_12,axiom,
linorder @ $o ).
thf(tcon_HOL_Obool___Finite__Set_Ofinite_13,axiom,
finite_finite @ $o ).
thf(tcon_HOL_Obool___Orderings_Oorder_14,axiom,
order @ $o ).
thf(tcon_HOL_Obool___Orderings_Oord_15,axiom,
ord @ $o ).
thf(tcon_Product__Type_Oprod___Finite__Set_Ofinite_16,axiom,
! [A9: $tType,A10: $tType] :
( ( ( finite_finite @ A9 )
& ( finite_finite @ A10 ) )
=> ( finite_finite @ ( product_prod @ A9 @ A10 ) ) ) ).
% Conjectures (1)
thf(conj_0,conjecture,
( ( graph_homomorphism @ b @ nat @ nat @ ( product_fst @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( product_Pair @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( translation @ b @ ( product_fst @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) @ ( translation @ b @ ( product_snd @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) ) ) @ ( product_snd @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( product_Pair @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( translation @ b @ ( product_fst @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) @ ( translation @ b @ ( product_snd @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) ) ) @ ( id_on @ nat @ ( labeled_vertices @ b @ nat @ ( product_fst @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( product_Pair @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( translation @ b @ ( product_fst @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) @ ( translation @ b @ ( product_snd @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) ) ) ) ) )
& ( ( product_snd @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( product_Pair @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( translation @ b @ ( product_fst @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) @ ( translation @ b @ ( product_snd @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) ) )
= ( restrict @ b @ nat @ ( product_snd @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( product_Pair @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( translation @ b @ ( product_fst @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) @ ( translation @ b @ ( product_snd @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) ) ) ) )
& ( finite_finite2 @ nat @ ( labeled_vertices @ b @ nat @ ( product_snd @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( product_Pair @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( translation @ b @ ( product_fst @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) @ ( translation @ b @ ( product_snd @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) ) ) ) )
& ( finite_finite2 @ ( product_prod @ b @ ( product_prod @ nat @ nat ) ) @ ( labeled_edges @ b @ nat @ ( product_snd @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( product_Pair @ ( labeled_graph @ b @ nat ) @ ( labeled_graph @ b @ nat ) @ ( translation @ b @ ( product_fst @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) @ ( translation @ b @ ( product_snd @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ ( product_Pair @ ( allegorical_term @ b ) @ ( allegorical_term @ b ) @ u @ ( allegorical_A_Int @ b @ u @ v ) ) ) ) ) ) ) ) ) ).
%------------------------------------------------------------------------------